Put запрос

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Как сделать Put запрос в зенке через c# с такими параметрами?
URL: http://www.textnow.com/api/users/{-Variable.login_textnow-}/phone?strict=0
Refere: https://www.textnow.com/messaging
Данные: json=%7B%22area_code%22%3A%22{-Variable.kod-}%22%7D
PUT /api/users/{-Variable.login_textnow-}/phone?strict=0 HTTP/1.1
User-Agent: {-Variable.useragent-}
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Host: www.textnow.com
Cookie: connect.sid={-Variable.connect_sid-}; tnExp%3ABroadcastMessage=0; UserDidVisitApp=true; sm_dapi_session=1
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Код:
string cookie = project.Variables["cookie"].Value;
string url = "http://www.textnow.com/api/users/"+project.Variables["login_textnow"].Value+"/phone?strict=0";
string useragent = project.Variables["useragent"].Value;

var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = "PUT";
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Accept = "application/json, text/javascript, */*; q=0.01";
httpWebRequest.Headers.Add("Accept-Encoding","gzip, deflate");
httpWebRequest.Headers.Add("Accept-Language","en-US,en;q=0.5");
httpWebRequest.Headers.Add("X-Requested-With", "XMLHttpRequest");
httpWebRequest.Headers.Add("Cookie", cookie);
httpWebRequest.Referer = "https://www.textnow.com/messaging";
httpWebRequest.UserAgent =  useragent;

using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
    string json = "{\"area_code\":\"210\"}";

    streamWriter.Write(json);
    streamWriter.Flush();
    streamWriter.Close();
}

var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
return httpResponse;
Нашел такой код, но выдает ошибку

upload_2017-10-2_14-41-4.png
 
Последнее редактирование:

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
Смею предположить (но не уверен), что куки не правильно подсовываются
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Смею предположить (но не уверен), что куки не правильно подсовываются
unsupported_browsers_notif=true; _ga=GA1.2.1830035694.1506928840; _gid=GA1.2.515983196.1506928840; language=en; connect.sid=s%3AuBeeAZOf_JWYvPi8XedfNQsfBd9vVIwO.UE7CCNVX7J5tOjmRwzwdEMFbd5HO1%2F9sJ9Sd%2FaCQ7o; tnExp%3ABroadcastMessage=0; UserDidVisitApp=true; sm_dapi_session=1

Если честно не знаю как их правильно туда подсовывать) я их так и вставил. Подскажите пожалуйста ))
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
upload_2017-10-2_16-22-52.png


Так вроде пишет, когда неправильно куки написал (не уверен)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
берёшь сниффер, и смотришь на свой запрос и работающий запрос. Смысл гадать по ошибке 400 что не так?
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
Посмотреть вложение 23743

Так вроде пишет, когда неправильно куки написал (не уверен)
Вот эти куки можете убрать: _ga=GA1.2.1830035694.1506928840;_gid=GA1.2.515983196.1506928840;

Они вроде отвечают за аналитику гугла.
Без них легче)

Все куки соедините через "+" в отдельной переменной. Проверьте ссылку куда переходите.
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Вот эти куки можете убрать: _ga=GA1.2.1830035694.1506928840;_gid=GA1.2.515983196.1506928840;

Они вроде отвечают за аналитику гугла.
Без них легче)

Все куки соедините через "+" в отдельной переменной. Проверьте ссылку куда переходите.
Спасибо, я уже вроде разобрался) На сколько я понял - капча вылезла
upload_2017-10-3_12-27-38.png
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
этот текстнау - это то ещё мучение в плане авторизации на запросах
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Как в put-запрос добавить прокси с переменной?
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
Как в put-запрос добавить прокси с переменной?
C#:
string proxy = project.Varibales["proxy"].Value;

if (!string.IsNullOrWhiteSpace(proxy))
{
   ICredentials cred;
   cred = new NetworkCredential(user, pass);
   client.Proxy = new System.Net.WebProxy(proxy, true, null, cred);
}
Попробуй так. Только сделай сплит строки с прокси на логин и пароль и с ипом
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
C#:
string proxy = project.Varibales["proxy"].Value;

if (!string.IsNullOrWhiteSpace(proxy))
{
   ICredentials cred;
   cred = new NetworkCredential(user, pass);
   client.Proxy = new System.Net.WebProxy(proxy, true, null, cred);
}
Попробуй так. Только сделай сплит строки с прокси на логин и пароль и с ипом
upload_2017-10-5_11-27-1.png

Что-то не получается у меня)
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
C#:
string proxy = project.Varibales["proxy"].Value;

using (var client = new WebClientEx())
{
   if (!string.IsNullOrWhiteSpace(proxy))
  {
    ICredentials cred;
    cred = new NetworkCredential(user, pass);
    client.Proxy = new System.Net.WebProxy(proxy, true, null, cred);
  }
}
Внутри делаешь запрос.
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Код:
string proxy = project.Variables["ip_proxy"].Value;
using (var client = new WebClientEx())
{
if (!string.IsNullOrWhiteSpace(proxy))
{
   ICredentials cred;
   cred = new NetworkCredential(project.Variables["user_proxy"].Value, project.Variables["pass_proxy"].Value);
   client.Proxy = new System.Net.WebProxy(proxy, true, null, cred);
}
string url = "https://www.textnow.com/api/users/"+project.Variables["login_textnow"].Value+"/phone?strict=0"; //урл
string useragent = project.Variables["useragent"].Value;
string cookie = project.Variables["cookie"].Value;

var nvc = new System.Collections.Specialized.NameValueCollection(); //дополнительные поля
/////////////////////////////////////////////////////////////////////////////////////////
var wr = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
wr.Host = "www.textnow.com";
//wr.Connection = "keep-alive";
wr.Accept = "application/json, text/javascript, */*; q=0.01";
wr.UserAgent = useragent;
wr.Headers.Add("Accept-Encoding","gzip, deflate");
wr.Headers.Add("Accept-Language","en-US,en;q=0.5");
wr.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
wr.Referer = "https://www.textnow.com/messaging";
wr.Headers.Add("X-Requested-With","XMLHttpRequest");
wr.Method = "PUT";
wr.Headers.Add("Cookie", cookie);
wr.KeepAlive = true;
//wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
//wr.KeepAlive = false;

var rs = wr.GetRequestStream();

using (var streamWriter = new StreamWriter(wr.GetRequestStream()))
{
    string json = "json=%7B%22area_code%22%3A%22210%22%7D";
    streamWriter.Write(json);
    streamWriter.Flush();
    streamWriter.Close();
}

var httpResponse = (HttpWebResponse)wr.GetResponse();

return httpResponse;
}
Верно?
upload_2017-10-5_11-47-13.png
 
Последнее редактирование:

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
C#:
string ip = project.Varibales["IP"].Value;
string loginproxy= project.Varibales["LOGINPROXY"].Value;
string pass = project.Varibales["PASSPROXY"].Value;


using (var client = new WebClientEx())
{
   if (!string.IsNullOrWhiteSpace(ip)) //если переменная с прокси не пустая, то выполняем установку прокси
  {
    ICredentials cred;
    cred = new NetworkCredential(loginproxy, pass); //логин и пароль к прокси
    client.Proxy = new System.Net.WebProxy(ip, true, null, cred); //ip - это адрес прокси | cred - это логин и пароль
  }
}
Должно быть вот так. Только поменяй на свои переменные
 
  • Спасибо
Реакции: SteveJobs

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
C#:
string ip = project.Varibales["IP"].Value;
string loginproxy= project.Varibales["LOGINPROXY"].Value;
string pass = project.Varibales["PASSPROXY"].Value;


using (var client = new WebClientEx())
{
   if (!string.IsNullOrWhiteSpace(ip)) //если переменная с прокси не пустая, то выполняем установку прокси
  {
    ICredentials cred;
    cred = new NetworkCredential(loginproxy, pass); //логин и пароль к прокси
    client.Proxy = new System.Net.WebProxy(ip, true, null, cred); //ip - это адрес прокси | cred - это логин и пароль
  }
}
Должно быть вот так. Только поменяй на свои переменные

upload_2017-10-5_11-50-20.png
 

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
  • Спасибо
Реакции: SteveJobs

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
Только я вот правда неуверен насчёт вашего webRequest и передаются ли в него данные из Webclient =)))
Спросите у бывалых)
Надеюсь сюда кто-то напишет)
А не подскажешь ещё библиотеку для GetResponseStream?)
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113

SteveJobs

Client
Регистрация
03.11.2016
Сообщения
283
Благодарностей
30
Баллы
28
В WebRequest передаются данные из Webclient ?
 
Последнее редактирование:

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)