Поэтому я пытаюсь повторить этот код, но C ++ https://bitbucket.org/jitbit/sharpgooglevoice/src/0d76122c5bd7f4000352e003c9990d62f2421693/SharpGoogleVoice.cs?at=default
Тем не менее, я думаю, что мой код идентичен, но, похоже, он не работает.
int SendSMS(string number, string msg)
{
Login();
curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com/voice/sms/");
curl_easy_setopt(curl, CURLOPT_POST, 1);
number = curl_easy_escape(curl, number,0);
rnr_se = curl_easy_escape(curl, rnr_se.c_str(),0);
string data = "sendphoneNumber=" + number;
data += "&text=" + msg;
data += "&_rnr_se=" + rnr_se;
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data.c_str());
cr = curl_easy_perform(curl);
}
Однако ничего не происходит. Я знаю, что Login () работает правильно, так как я могу войти и проверить сообщения. Мой вывод такой же, как в коде C #, но по какой-то причине это ничего не делает
Формат URL должен быть таким
POST / voice / sms / send / phoneNumber = [номер в текст]&текст = [URL кодированное сообщение]&_rnr_se = [вытащить со страницы]
Есть несколько вещей, которые не соответствуют исходному коду, на который вы указываете;
_webClient.UploadData("https://www.google.com/voice/sms/send"...
пока вы используете;
curl_easy_setopt(curl, CURLOPT_URL, "https://www.google.com/voice/sms/");
Обратите внимание на другой URL. Также;
PostParameters(new Dictionary<string, string>
{
{"phoneNumber", number},
...
…пока вы используете …
string data = "sendphoneNumber=" + number;
Обратите внимание на другое имя параметра.
Других решений пока нет …