며칠 전 특정 웹 사이트에서 정보를 가져오라는 요청이 있었지만 해당 웹 사이트에는 게시물 액세스가 필요합니다. 이제 Google에서
System.Net을 사용하여
찾은 두 가지 방법static string WebClinetPost(string url, string postData, string encodeType; ,문자열 출력 오류)
{
문자열 uriString = url;
바이트[] 바이트Array;
바이트[] 응답 배열;
//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("추천자"," http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx ");
//myWebClient.Headers.Add("Accept-Language","zh-cn");
myWebHeaderCollection = myWebClient.Headers;
byteArray = 인코딩.GetBytes(postData);
responseArray = myWebClient.UploadData(uriString,"POST",byteArray);
err=string.Empty;
인코딩을 반환합니다.GetString(responseArray);
}
catch(예외예외)
{
오류=ex.메시지;
문자열을 반환합니다.빈;
}
}
공개 정적 문자열 HttpWebResponsePost(문자열 URL, 문자열 postData, 문자열 encodeType, 출력 문자열 오류)
{
스트림 아웃스트림 = null;
StreamReader
sr =
null
;HttpWebRequest
요청 = null;
인코딩
인코딩 = Encoding.GetBytes
(postData);
request = WebRequest.Create(url) as HttpWebRequest;
request.CookieContainer = cookieContainer;
request.AllowAutoRedirect
=
"application/x-www-
"
form-urlencoded";
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(data,0,data.Length);
outstream.Close();
response = request.GetResponse() as HttpWebResponse;
인스트림 = response.GetResponseStream();
sr = new StreamReader(인스트림, 인코딩);
문자열 내용 = sr.ReadToEnd();
오류 = 문자열.Empty;
내용 반환
}
catch(예외 예시)
{
오류 = ex.메시지;
문자열을 반환합니다.빈
}
}
호출 코드:
문자열 url=" http://xxxxxx/xxxxxxxx/scrrm00542.jsp ";
string postData="proj_id=600197&theSubmit=600197";
문자열 encodeType="utf-8";
문자열 오류="";
//문자열 내용=HttpWebResponsePost(url,postData,encodeType,out err);
string content=WebClinetPost(url,postData,encodeType,out err);
또한 자바스크립트 구현 코드를 첨부해 주세요.
<스크립트 언어=자바스크립트>
함수 GetData()
{
var postData = "proj_id=600197&theSubmit=600197";
var http = new GetXMLHTTPRequest();
http.open('POST', 'http://xxxxxxxxxx/xxxxxx/scrrm00542.jsp', false);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send(포스트데이터);
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 = progIDs[i];
노력하다
{
var x = new ActiveXObject(progID);
x를 반환;
}
잡기 (e)
{}
}
}
http://www.cnblogs.com/lwyaster/archive/2007/01/09/615815.html