数日前、特定の Web サイトから情報を取得するリクエストがありましたが、その Web サイトでは、
System.Net を使用した
2
つのメソッドが見つかりました。、文字列エラー)
{
文字列 uriString = URL;
byte[] バイト配列;
byte[] 応答配列;
//postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
エンコーディング エンコーディング = Encoding.GetEncoding(encodeType);
試す
{
WebClient myWebClient = new WebClient();
WebHeaderCollection myWebHeaderCollection;
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
//myWebClient.Headers.Add("リファラー"," http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx ");
//myWebClient.Headers.Add("Accept-Language","zh-cn");
myWebHeaderCollection = myWebClient.Headers;
byteArray = エンコーディング.GetBytes(postData);
(
uriString,"POST",byteArray);
戻りエンコーディング.GetString(responseArray);
}
catch(例外例)
{
err=ex.メッセージ;
文字列を返します。空;
}
}
public static string HttpWebResponsePost(string url, string postData,string encodeType,out string err)
{
ストリームアウトストリーム = null;
StreamReader
sr =
null
;
HttpWebRequest
リクエスト = null;
エンコーディング
= encoding.GetBytes(postData);
request = WebRequest.Create(url) as
CookieContainer cookieContainer = new 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() as HttpWebResponse;
インストリーム = 応答.GetResponseStream();
sr = 新しい StreamReader( インストリーム, エンコーディング );
文字列内容 = sr.ReadToEnd();
エラー = 文字列.Empty;
コンテンツを返す;
}
catch(例外例)
{
err = ex.メッセージ;
文字列を返します
。
呼び出し
コード:
文字列 URL=" http://xxxxxx/xxxxxxxx/scrrm00542.jsp ";
文字列 postData="proj_id=600197&theSubmit=600197";
文字列エンコードタイプ = "utf-8";
文字列エラー = "";
//文字列コンテンツ=HttpWebResponsePost(url,postData,encodeType,out err);
string content=WebClinetPost(url,postData,encodeType,out err);
さらに、JavaScript 実装コードを添付してください。
<スクリプト言語=javascript>
関数 GetData()
{
var postData = "proj_id=600197&theSubmit=600197";
var 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)
{
var progID = progID[i];
試す
{
var x = 新しい ActiveXObject(progID);
x を返します。
}
キャッチ (e)
{}
}
}
</script>
http://www.cnblogs.com/lwyaster/archive/2007/01/09/615815.html