Бесплатные снипеты на заказ

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
Прошу помощи, как в данном случае положить ответ сервера в переменную:
C#:
string cookie = "куки";
string url = "урл";
string useragent = "юзерагент";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
httpWebRequest.Method = "PUT";
httpWebRequest.Headers.Add("Cookie", cookie);
httpWebRequest.UserAgent =  useragent;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
  string json = "json";
  streamWriter.Write(json);
  streamWriter.Flush();
  streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
return result;
}
Ответ приходит в виде ошибки 428, но так и должно быть.
ну так у вас ответ вроде лежит в переменной result
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
это если такая переменая заданая в кубике
да, задана. Но переменная пустая. Хотя подсматривая на сниффер, ответ приходит.

Может быть он не дает ответ из-за того, что считает как ошибочный ответ от сервера.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
оберни в try{} cath()
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
да, задана. Но переменная пустая. Хотя подсматривая на сниффер, ответ приходит.

Может быть он не дает ответ из-за того, что считает как ошибочный ответ от сервера.
у тебя вышло по ошибке

вот твоя ошибка

2017-03-04_231738.png
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Да, совершенно верно. Но так и должно быть, также выходит и через браузер. Заголовок ошибки, а в содержимом находится нужный токен.
ghfdbkmysq jndtn 200, у тебя в либе твоей например или когда ты пользуешься вебреквест, то там всё заложено, ты или должен поставить проверки или ещё как то поступить, есть стандартная ошибка при 302 это редирект, а мне например на него пофиг, как ты говоришь вытащить только одно значение и идти по зелёному пути, поэтому ты тут уже ставь проверку заголовка
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
оберни в try{} cath()
А не подскажете, как это сделать?
C#:
try
{
string cookie = "куки";
string url = "урл";
string useragent = "юзерагент";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
httpWebRequest.Method = "PUT";
httpWebRequest.Headers.Add("Cookie", cookie);
httpWebRequest.UserAgent =  useragent;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
  string json = "json";
  streamWriter.Write(json);
  streamWriter.Flush();
  streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
return result;
}

}
catch (Exception e)
{
    return ???
}
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
если надо идти идти при заголовке 428 по зелёной, поставь проверку , спарсь что тебе надо и иди по зелёной, но без тру катч у тебя всегда будет ошибка
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
А не подскажете, как это сделать?
C#:
try
{
string cookie = "куки";
string url = "урл";
string useragent = "юзерагент";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
httpWebRequest.Method = "PUT";
httpWebRequest.Headers.Add("Cookie", cookie);
httpWebRequest.UserAgent =  useragent;
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
  string json = "json";
  streamWriter.Write(json);
  streamWriter.Flush();
  streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
return result;
}

}
catch (Exception e)
{
    return ???
}
для чего использовать using, а потом ещё писать так:
Код:
streamWriter.Flush();
streamWriter.Close();
Сам оператор using подразумевает то, что класс реализует интерфейс IDisposable, в котором уже изначально реализуются эти методы
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
для чего использовать using, а потом ещё писать так:
Код:
streamWriter.Flush();
streamWriter.Close();
Сам оператор using подразумевает то, что класс реализует интерфейс IDisposable, в котором уже изначально реализуются эти методы
C#:
try
{
  string cookie = "куки";
  string useragent = "юзерагент";
  string url = "урл";
  string json = "json";
  byte[] data = Encoding.ASCII.GetBytes(json);
  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
  return ????
}
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
для чего использовать using, а потом ещё писать так:
Код:
streamWriter.Flush();
streamWriter.Close();
Сам оператор using подразумевает то, что класс реализует интерфейс IDisposable, в котором уже изначально реализуются эти методы
хорош умничать, человек ошибку ищет а ты занялся вообще не тем
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
try
{
  string cookie = "куки";
  string useragent = "юзерагент";
  string url = "урл";
  string json = "json";
  byte[] data = Encoding.ASCII.GetBytes(json);
  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
  return ????
}
если твой код попадает в catсh то он выйдет по ошибке пока ты там проверку не поставишь что это не ошибка а надо выйди по зелёной
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
например
try
{
// бла бла бла
}
catch ()
{
if (response.Constains("428"))
{
return 1;
}
}

тут мы выйдем по зелёной
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
try
{
  string cookie = "куки";
  string useragent = "юзерагент";
  string url = "урл";
  string json = "json";
  byte[] data = Encoding.ASCII.GetBytes(json);
  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
  return ????
}
ну хотя бы так? но код реально большой

C#:
string cookie = "куки";
string useragent = "юзерагент";
string url = "урл";
string json = "json";
byte[] data = Encoding.ASCII.GetBytes(json);

try
{

  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
    var message = e.Message;
    if (message == 428"")
    {
        // какие то ещё действия что надо спарсить
        return 1;
    }
}
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Я думаю врятли серв принимает ASCII кодировку, шли в utf-8, а не так:
Код:
byte[] data = Encoding.ASCII.GetBytes(json);
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Я думаю врятли серв принимает ASCII кодировку, шли в utf-8, а не так:
Код:
byte[] data = Encoding.ASCII.GetBytes(json);
а при чём кодировка о ошибка кодов ошибок , я уже угораю )))))))))))))))
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
нук изучи что нить новое )))
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
а при чём кодировка о ошибка кодов ошибок , я уже угораю )))))))))))))))
То, что неправильная кодировка может стать причиной ошибки. Даже если не здесь, то на каком-нибудь другом сайте.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
То, что неправильная кодировка может стать причиной ошибки. Даже если не здесь, то на каком-нибудь другом сайте.
ты иногда тупишь или умничаешь, но честно извини что так обратился
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
ну хотя бы так? но код реально большой

C#:
string cookie = "куки";
string useragent = "юзерагент";
string url = "урл";
string json = "json";
byte[] data = Encoding.ASCII.GetBytes(json);

try
{

  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
    var message = e.Message;
    if (message == 428"")
    {
        // какие то ещё действия что надо спарсить
        return 1;
    }
}
e.Message = Удаленный сервер возвратил ошибку: (428 Precondition Required.

А как получить весь ответ от сервера, как в GET:
Код:
HTTP/1.1 200 OK
Date: Sat, 04 Mar 2017 16:40:21 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.11
X-Pingback: http://zennolab.com/xmlrpc.php
Set-Cookie: qtrans_cookie_test=qTranslate+Cookie+Test; path=/; domain=zennolab.com
Server: cloudflare-nginx
CF-RAY: 33a646db12804e6c-DME
Content-Encoding: gzip


<!DOCTYPE html>
<html lang="en-US">
<head>
БЛАБЛАБЛА
</html>
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
e.Message = Удаленный сервер возвратил ошибку: (428 Precondition Required.

А как получить весь ответ от сервера, как в GET:
Код:
HTTP/1.1 200 OK
Date: Sat, 04 Mar 2017 16:40:21 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.11
X-Pingback: http://zennolab.com/xmlrpc.php
Set-Cookie: qtrans_cookie_test=qTranslate+Cookie+Test; path=/; domain=zennolab.com
Server: cloudflare-nginx
CF-RAY: 33a646db12804e6c-DME
Content-Encoding: gzip


<!DOCTYPE html>
<html lang="en-US">
<head>
БЛАБЛАБЛА
</html>
.ToString()
 

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28

infosimple

Client
Регистрация
01.01.2015
Сообщения
422
Благодарностей
61
Баллы
28
Выкладываю полный код, с куками и т.д.
C#:
try
{string cookie = "unsupported_browsers_notif=true; language=en; express:sess=eyJ1c2VybmFtZSI6ImVuYWRyaWVtaTE5ODIiLCJzZXNzaW9uSWQiOiJkNzk4ZTQxNTM0Yzg1NjIwM2ZmMTMyYTVmYTAxYmY5ODY4MmNmM2RlZjIxNDViMDU1MmYzMWQ4OTY1YTIzNTdiIiwic2V0dGluZ3MiOnsic291bmRzRW5hYmxlZCI6dHJ1ZSwiY2FsbGluZ0VuYWJsZWQiOmZhbHNlfX0=; express:sess.sig=m7wJvDQLpolk2B33bcMfaZiQ6c0; newUser.enadriemi1982=new; ga=GA1.2.208324150.1488620948; gat=1; UserDidVisitApp=true; interstitial_%2F%2F%2Fdzf283eh31vp4.cloudfront.net%2Fcommon%2Fpublic%2Fimages%2FTaxSale2017%2FWeb_Interstitial.1617ca56b7be999.jpg_shown=true; JSESSIONID=006; H1:8a543935ffc5cd45f3c3f0403786d=1; sm_dapi_session=1; __gads=ID=99d44489e41b82f4:T=1488621144:S=ALNI_MYp3T9eclbioqUIC9h6UceF5d_Qpg";
string useragent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; ru-RU; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)";
string url = "https://www.textnow.com/api/users/enadriemi1982/phone?strict=0";
string json = "json=%7B%22area_code%22%3A%22912%22%7D";
byte[] data = Encoding.ASCII.GetBytes(json);
  System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  request.Method = "PUT";
  request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  request.Headers.Add("Cookie", cookie);
  request.UserAgent =  useragent;
  request.ContentLength = data.Length;
  request.KeepAlive = true;
  Stream requestStream = request.GetRequestStream();
  requestStream.Write(data, 0, data.Length);
  requestStream.Close();
  System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
  string result = response.StatusCode.ToString();
  return result;
}
catch (Exception e)
{
var message = e.Message.ToString();
return message;
}
 

iblohin

Client
Регистрация
10.09.2015
Сообщения
64
Благодарностей
2
Баллы
8
Парни, помогите пожалуйста с таким сниппетом:

Есть таблица1, в ней может быть разное количество столбцов, но в первом столбце всегда идут имена. Нужно посчитать какое количество раз в этом столбце встречается каждое имя и записать в таблицу2:
Имя | Какое количество раз оно стречается


Вот пример.
Таблица1:
Антон
Екатерина
Олег
Екатерина
Антон
Фред
Екатерина

Таблица2 ответ:
Антон 2
Олег 1
Фред 1
Екатерина 3
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Парни, помогите пожалуйста с таким сниппетом:

Есть таблица1, в ней может быть разное количество столбцов, но в первом столбце всегда идут имена. Нужно посчитать какое количество раз в этом столбце встречается каждое имя и записать в таблицу2:
Имя | Какое количество раз оно стречается


Вот пример.
Таблица1:
Антон
Екатерина
Олег
Екатерина
Антон
Фред
Екатерина

Таблица2 ответ:
Антон 2
Олег 1
Фред 1
Екатерина 3
C#:
var list = new List<string>();
var table1 = project.Tables["Tables1"];
var table2 = project.Tables["Tables2"];

for(int i = 0; i < table1.RowCount; i++)
{
    var cells = table1.GetCell(0, i);
 
    if (cells == "")
    {
        break;
    }
    else
    {
        list.Add(cells);
    }
}

var q = list.GroupBy(x => x)
            .Select(g => new { Value = g.Key, Count = g.Count() })
            .OrderByDescending(x => x.Count);

foreach (var x in q)
{
    project.SendInfoToLog("", "x.Count -> " + x.Value + " -> " + x.Count, true);
    table2.AddRow(x.Value + "->" + x.Count);
}
таблица1
2017-03-05_155510.png

результат
2017-03-05_155449.png
 
  • Спасибо
Реакции: Osminogus и iblohin

iblohin

Client
Регистрация
10.09.2015
Сообщения
64
Благодарностей
2
Баллы
8
ssXXXss, прошу прощения, не написал сразу - там важно, чтобы число, которое означает, сколько раз имя встречалось в списке, располагалось в отдельной ячейке. Это нужно для того, чтобы взять его в переменную. Хотя. Если это нужно логику переписывать, или это сложнее, то, в принципе, можно результат регуляркой обработать

спасибо за быстрый ответ!
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ssXXXss, прошу прощения, не написал сразу - там важно, чтобы число, которое означает, сколько раз имя встречалось в списке, располагалось в отдельной ячейке. Это нужно для того, чтобы взять его в переменную. Хотя. Если это нужно логику переписывать, или это сложнее, то, в принципе, можно результат регуляркой обработать

спасибо за быстрый ответ!
напротив записать в ячейку В ?
 

iblohin

Client
Регистрация
10.09.2015
Сообщения
64
Благодарностей
2
Баллы
8

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
C#:
var list = new List<string>();
var table1 = project.Tables["Tables1"];
var table2 = project.Tables["Tables2"];

for(int i = 0; i < table1.RowCount; i++)
{
    var cells = table1.GetCell(0, i);
   
    if (cells == "")
    {
        break;
    }
    else
    {
        list.Add(cells);
    }
}

var q = list.GroupBy(x => x)
            .Select(g => new { Value = g.Key, Count = g.Count() })
            .OrderByDescending(x => x.Count);

int index = 0;
foreach (var x in q)
{
    project.SendInfoToLog("", "x.Count -> " + x.Value + " -> " + x.Count, true);
    table2.AddRow(x.Value);
    table2.SetCell("B", index, x.Count.ToString());
    index++;
}
так ?
2017-03-05_170132.png
 
  • Спасибо
Реакции: Osminogus и iblohin

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