Há alguns dias, houve uma solicitação para obter informações de um determinado site, mas o site requer acesso de postagem. Agora, aqui estão dois métodos encontrados no Google
usando
System.Net;
,out string err)
{
string uriString = url;
byte[] byteArray;
byte[] respostaArray;
//postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
Codificação codificação = Encoding.GetEncoding(encodeType);
tentar
{
WebClient meuWebClient = new WebClient();
WebHeaderCollection myWebHeaderCollection;
myWebClient.Headers.Add("Tipo de conteúdo","aplicativo/x-www-form-urlencoded");
//myWebClient.Headers.Add("Referenciador"," http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx ");
//myWebClient.Headers.Add("Aceitar-Idioma","zh-cn");
meuWebHeaderCollection = meuWebClient.Headers;
byteArray = codificação.GetBytes(postData);
responseArray = myWebClient.UploadData(uriString,"POST",byteArray
err=string.Empty;
retornar codificação.GetString(responseArray);
}
catch(Exceção ex)
{
err=ex.Mensagem;
retornar string.Empty;
}
}
string estática pública HttpWebResponsePost (string url, string postData, string encodeType, out string err)
{
Stream outstream = null;
Stream instream = null;
StreamReader
sr = null;
resposta
HttpWebRequest
=
null
;
solicitação = WebRequest.Create(url) como
CookieContainer cookieContainer = novo
CookieContainer
(
)
;
formulário-urlencoded";
request.ContentLength = data.Length;
outstream = request.GetRequestStream();
outstream.Write(dados,0,data.Length);
outstream.Close();
resposta = request.GetResponse() as HttpWebResponse;
instream = resposta.GetResponseStream();
sr = novo StreamReader(instream, codificação);
string conteúdo = sr.ReadToEnd()
;
retornar conteúdo;
}
catch(Exceção ex)
{
err = ex.Mensagem;
retornar string.Vazio
}
}
Código de chamada:
string url=" http://xxxxxx/xxxxxxx/scrrm00542.jsp ";
string postData="proj_id=600197&theSubmit=600197";
string encodeType="utf-8";
string err="";
//string content=HttpWebResponsePost(url,postData,encodeType,out err);
string content=WebClinetPost(url,postData,encodeType,out err);
Além disso, anexe o código de implementação do javascript:
função GetData()
{
var postData = "proj_id=600197&theSubmit=600197";
var http = new GetXMLHTTPRequest();
http.open('POST', 'http://xxxxxxxxx/xxxxxx/scrrm00542.jsp', falso);
http.setRequestHeader("Tipo de conteúdo", "aplicativo/x-www-form-urlencoded");
http.send(postData);
retornar http.responseText;
}
função 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];
tentar
{
var x = novo ActiveXObject(progID);
retornar x;
}
pegar (e)
{}
}
}
http://www.cnblogs.com/lwyaster/archive/2007/01/09/615815.html