существует ли популярная библиотека C# для рабочего HTTP? Например, simplifing, работающий с httpwebrequest, и т.д. [закрытым]

Массивы . При оценке от ответов до этого вопроса, я не думаю, люди осознают, как легкие и полезные Массивы в PHP. Массивы PHP действуют как списки, карты, стеки и универсальные структуры данных все одновременно. Массивы реализованы в ядре языка и используются повсеместно, который приводит к хорошей местности кэша ЦП. Perl и Python и используют отдельные конструкции языка для списков и карт, приводящих к большему количеству копирования и потенциально запутывающих преобразований.

5
задан Greg 5 December 2009 в 23:10
поделиться

6 ответов

это лучший ответ, который я мог определить до сих пор:

Вот ссылка , которую я обнаружил, которая приближается к тому, о чем я думал. Это решает мое конкретное требование, однако не кажется слишком широким с точки зрения методов. Возможно, это всего лишь ключевые вспомогательные методы, которые требуются в основном помимо поддержки базовых классов WebClient / HttpWebRequest? В любом случае, если кто-то знает о популярной HTTP-библиотеке С #, более известной, чем эта, дайте мне знать, пожалуйста. На данный момент это лучшая ссылка, которую я могу найти, которая отвечает на мои вопросы. Спасибо за все комментарии на сегодняшний день.

1
ответ дан 18 December 2019 в 08:28
поделиться

Веб-формы отправляются в одном из двух форматов: application / x-www-form-urlencoded и multipart / form-data .

] WebClient предоставляет очень простой и удобный способ загрузки любых данных на веб-сайт. В случае application / x-www-form-urlencoded все, что вам нужно сделать, это предоставить NameValueCollection . В случае multipart / form-data , AFAIK, вы должны сами создать данные запроса (которые могут включать как файлы, так и пары значений имени).


application / x-www-form-urlencoded

NameValueCollection formData = new NameValueCollection();
formData["q"] = "c# webclient post urlencoded";
formData["btnG"] = "Google Search";
formData["hl"] = "en";

WebClient myWebClient = new WebClient();
myWebClient.UploadValues(uriString, formData);

WebClient.UploadValues ​​ устанавливает для метода HTTP значение «POST» , а для Content-Type значение «application / x-www-form-urlencoded» , WebClient.UploadData устанавливает для метода HTTP значение «POST» и загружает байтовый массив в uriString . Данные запроса в этом примере содержат файл file1.dat и параметр формы имя-отправителя , для которого установлено значение Ларри . Формат описан в RFC2388 .

13
ответ дан 18 December 2019 в 08:28
поделиться

Вы ищете библиотеку Ajax, управление загрузкой файлов, или то и другое, или ни то, ни другое? Ознакомьтесь с AsyncFileUpload в AjaxToolkit.

2
ответ дан 18 December 2019 в 08:28
поделиться

WebClient сделает это . Типа:

var c = new System.Net.WebClient();    
c.UploadFile(url, filename);

Если этого недостаточно, уточните. Какие «параметры» вы имеете в виду?

3
ответ дан 18 December 2019 в 08:28
поделиться

Обязательно посмотрите HTML Agility Pack на CodePlex :

Там также ветка здесь, на SO , которая может вас заинтересовать.

0
ответ дан 18 December 2019 в 08:28
поделиться

Chilkat Components

http://www.example-code.com

Chilkat.HttpRequest req = new Chilkat.HttpRequest();
Chilkat.Http http = new Chilkat.Http();

bool success;

//  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(http.LastErrorText);
    return;
}

//  Build an HTTP POST Request:
req.UsePost();
req.Path = "/testPostHandler.asp";
req.AddParam("arg1","This is the value for arg1.");
req.AddParam("arg2","This is the value for arg2.");
req.AddParam("arg3","This is the value for arg3.");

//  Send the HTTP POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTP response is received.
string domain;
int port;
bool ssl;
domain = "www.chilkatsoft.com";
port = 80;
ssl = false;
Chilkat.HttpResponse resp = null;
resp = http.SynchronousRequest(domain,port,ssl,req);
if (resp == null ) {
    textBox1.Text += http.LastErrorText + "\r\n";
}
else {
    //  Display the HTML page returned.
    textBox1.Text += resp.BodyStr + "\r\n";
}
0
ответ дан 18 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: