Массивы . При оценке от ответов до этого вопроса, я не думаю, люди осознают, как легкие и полезные Массивы в PHP. Массивы PHP действуют как списки, карты, стеки и универсальные структуры данных все одновременно. Массивы реализованы в ядре языка и используются повсеместно, который приводит к хорошей местности кэша ЦП. Perl и Python и используют отдельные конструкции языка для списков и карт, приводящих к большему количеству копирования и потенциально запутывающих преобразований.
это лучший ответ, который я мог определить до сих пор:
Вот ссылка , которую я обнаружил, которая приближается к тому, о чем я думал. Это решает мое конкретное требование, однако не кажется слишком широким с точки зрения методов. Возможно, это всего лишь ключевые вспомогательные методы, которые требуются в основном помимо поддержки базовых классов WebClient / HttpWebRequest? В любом случае, если кто-то знает о популярной HTTP-библиотеке С #, более известной, чем эта, дайте мне знать, пожалуйста. На данный момент это лучшая ссылка, которую я могу найти, которая отвечает на мои вопросы. Спасибо за все комментарии на сегодняшний день.
Веб-формы отправляются в одном из двух форматов: 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 .
Вы ищете библиотеку Ajax, управление загрузкой файлов, или то и другое, или ни то, ни другое? Ознакомьтесь с AsyncFileUpload в AjaxToolkit.
WebClient сделает это . Типа:
var c = new System.Net.WebClient();
c.UploadFile(url, filename);
Если этого недостаточно, уточните. Какие «параметры» вы имеете в виду?
Обязательно посмотрите HTML Agility Pack на CodePlex :
Там также ветка здесь, на SO , которая может вас заинтересовать.
Chilkat Components
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";
}