Несколько дней назад поступил запрос на получение информации с определенного веб-сайта, но для этого веб-сайта требуется доступ к публикации. Теперь в Google найдены два метода
с использованием
статической строки WebClinetPost(string url, string postData, string encodeType. , ошибка в строке)
{
строка uriString = URL;
байт[] byteArray;
байт [] массив ответа;
//postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
Кодировка кодирования = Encoding.GetEncoding(encodeType);
пытаться
{
WebClient myWebClient = новый WebClient();
WebHeaderCollection myWebHeaderCollection;
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
//myWebClient.Headers.Add("Referer"," http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx ");
//myWebClient.Headers.Add("Accept-Language","zh-cn");
myWebHeaderCollection = myWebClient.Headers;
byteArray =coding.GetBytes(postData);
responseArray = myWebClient.UploadData(uriString, «POST», byteArray);
err=string.Empty;
вернуть кодировку.GetString(responseArray);
}
поймать (исключение ex)
{
ошибка = ex.Сообщение;
вернуть строку.Пусто;
}
}
общедоступная статическая строка HttpWebResponsePost (url строки, строка postData, строка encodeType, ошибка строки)
{
Исходящий поток = null;
StreamReader
sr = null
;запрос HttpWebRequest = null;
кодирование
= Encoding.GetEncoding(encodeType);
byte
[
] data =coding.GetBytes(postData);
запрос = WebRequest.Create (url) как HttpWebRequest;
CookieContainer cookieContainer = новый CookieContainer ();
request.AllowAutoRedirect
= true;
request.Method
= «POST»;
form-urlencoded";
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(data,0,data.Length);
outstream.Close();
ответ = request.GetResponse() как HttpWebResponse;
instream = ответ.GetResponseStream();
ср = новый StreamReader (входящий поток, кодирование);
содержимое строки = sr.ReadToEnd();
ошибка = string.Empty;
вернуть содержимое
}
catch (исключение ex)
{
ошибка = ex.Message;
вернуть строку.Пусто
}
;
}
Код вызова:
строка URL = " http://xxxxxx/xxxxxxxx/scrrm00542.jsp ";
string postData="proj_id=600197&theSubmit=600197";
строка encodeType="utf-8";
строка ошибка="";
//string content=HttpWebResponsePost(url,postData,encodeType,out err);
string content=WebClinetPost(url,postData,encodeType,out err);
Кроме того, прикрепите код реализации JavaScript:
<язык сценария=javascript>
функция ПолучитьДанные()
{
var postData = "proj_id=600197&theSubmit=600197";
вар http = новый GetXMLHTTPRequest();
http.open('POST', 'http://xxxxxxxxxx/xxxxxx/scrrm00542.jsp', false);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send(postData);
вернуть http.responseText;
}
Функция GetXMLHTTPRequest()
{
var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
for (var i = 0; i <progIDs.length; ++i)
{
вар progID = progIDs[i];
пытаться
{
вар х = новый ActiveXObject (progID);
вернуть х;
}
поймать (е)
{}
}
}
</script>
http://www.cnblogs.com/lwyaster/archive/2007/01/09/615815.html