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

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Прошу помощи, как в данном случае положить ответ сервера в переменную:
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
 
это если такая переменая заданая в кубике
да, задана. Но переменная пустая. Хотя подсматривая на сниффер, ответ приходит.
9eb4a1495d044c0f87c6ef9b5220e66b.png

Может быть он не дает ответ из-за того, что считает как ошибочный ответ от сервера.
 
оберни в try{} cath()
 
да, задана. Но переменная пустая. Хотя подсматривая на сниффер, ответ приходит.
9eb4a1495d044c0f87c6ef9b5220e66b.png

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

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

2017-03-04_231738.png
 
Да, совершенно верно. Но так и должно быть, также выходит и через браузер. Заголовок ошибки, а в содержимом находится нужный токен.
ghfdbkmysq jndtn 200, у тебя в либе твоей например или когда ты пользуешься вебреквест, то там всё заложено, ты или должен поставить проверки или ещё как то поступить, есть стандартная ошибка при 302 это редирект, а мне например на него пофиг, как ты говоришь вытащить только одно значение и идти по зелёному пути, поэтому ты тут уже ставь проверку заголовка
 
оберни в 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 ???
}
 
если надо идти идти при заголовке 428 по зелёной, поставь проверку , спарсь что тебе надо и иди по зелёной, но без тру катч у тебя всегда будет ошибка
 
А не подскажете, как это сделать?
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, в котором уже изначально реализуются эти методы
 
для чего использовать 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 ????
}
 
для чего использовать 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 ????
}
если твой код попадает в catсh то он выйдет по ошибке пока ты там проверку не поставишь что это не ошибка а надо выйди по зелёной
 
например
try
{
// бла бла бла
}
catch ()
{
if (response.Constains("428"))
{
return 1;
}
}

тут мы выйдем по зелёной
 
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;
    }
}
 
Я думаю врятли серв принимает ASCII кодировку, шли в utf-8, а не так:
Код:
Развернуть Свернуть Копировать
byte[] data = Encoding.ASCII.GetBytes(json);
 
Я думаю врятли серв принимает ASCII кодировку, шли в utf-8, а не так:
Код:
Развернуть Свернуть Копировать
byte[] data = Encoding.ASCII.GetBytes(json);
а при чём кодировка о ошибка кодов ошибок , я уже угораю )))))))))))))))
 
нук изучи что нить новое )))
 
а при чём кодировка о ошибка кодов ошибок , я уже угораю )))))))))))))))
То, что неправильная кодировка может стать причиной ошибки. Даже если не здесь, то на каком-нибудь другом сайте.
 
То, что неправильная кодировка может стать причиной ошибки. Даже если не здесь, то на каком-нибудь другом сайте.
ты иногда тупишь или умничаешь, но честно извини что так обратился
 
ну хотя бы так? но код реально большой

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>
 
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()
 
Выкладываю полный код, с куками и т.д.
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;
}
 
Парни, помогите пожалуйста с таким сниппетом:

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


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

Таблица2 ответ:
Антон 2
Олег 1
Фред 1
Екатерина 3
 
Парни, помогите пожалуйста с таким сниппетом:

Есть таблица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
ssXXXss, прошу прощения, не написал сразу - там важно, чтобы число, которое означает, сколько раз имя встречалось в списке, располагалось в отдельной ячейке. Это нужно для того, чтобы взять его в переменную. Хотя. Если это нужно логику переписывать, или это сложнее, то, в принципе, можно результат регуляркой обработать

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

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

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

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