如何通过POST DATA
下面的访问登录验证并从httpFox获取登录网站。在其他时候,我尝试测试该GetRequestStreamCallback()
操作是否会起作用,我发现该操作不起作用并且它以DoWork()
. 为什么它不继续做GetRequestStreamCallback()
操作。谢谢你帮助我。
发布数据
Parameter value
__EVENTTARGET
__EVENTARGUMENT
__VIEWSTATE /wEPDwUIMTQwOTY1MTgPZBYCAgMPZBYEAgEPZBYCZg9kFgICAQ9kFgJmD2QWAgINDxAPFgIeB0NoZWNrZWRoZGRkZAIFDzwrAAgCAA8WBB4PRGF0YVNvdXJjZUJvdW5kZx4OXyFVc2VWaWV3U3RhdGVnZAYPFgIeCklzU2F2ZWRBbGxnDxQrAAkUKwABFgIeDlJ1bnRpbWVDcmVhdGVkZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZxQrAAEWAh8EZ2QWAmYPZBYCAgEPZBYCZg9kFgJmD2QWAmYPZBYCZg9kFgICAg9kFgJmD2QWAmYPZBYCZg9kFgZmD2QWBmYPZBYCZg9kFgJmD2QWCAIBDw8WAh4ISW1hZ2VVcmwFG34vcHJvZHVjdGltYWdlL0NBRDAwNTQ3LmpwZ2RkAgMPDxYCHgRUZXh0BQhDQUQwMDU0N2RkAgUPDxYCHwYFVENBUkQgUFJFUFJJTlQgS0lOT0tVTklZQSBQVkMgSVNPIDAuNzZNTSA1QyAxQyAgRk9SIFBSRVBSSU5UIEtJTk9LVU5JWUEgQ0FSRCBERVNJR04gMmRkAgcPDxYCHwYFD1BSRVBSSU5URUQgQ0FSRGRkAgIPZBYCZg9kFgJmD2QWCAIBDw8WAh8FBRt+L3Byb2R1Y3RpbWFnZS9CQVIwMTE1NC5qcGdkZAIDDw8WAh8GBQhCQVIwMTE1NGRkAgUPDxYCHwYFLEdGUzQ0NzAgR1JZUEhPTiBHRlM0NDAwIEZJWEVEIFNDQU5ORVIgMkQgVVNCZGQCBw8PFgIfBgUHR1JZUEhPTmRkAgQPZBYCZg9kFgJmD2QWCAIBDw8WAh8FBRt+L3Byb2R1Y3RpbWFnZS9CQVIwMTE1My5qcGdkZAIDDw8WAh8GBQhCQVIwMTE1M2RkAgUPDxYCHwYFVkJDUDgwMDBFWFQ1IEVYVEVOREVEIDUgKDQrMSkgWUVBUlMgTUFOVUZBQ1RVUklORyBERUZFQ1QgV0FSUkFOVFkgQkNQODAwMCBEQVRBIFRFUk1JTkFMZGQCBw8PFgIfBgUPQkFSQ09ERSBTQ0FOTkVSZGQCAg9kFgZmD2QWAmYPZBYCZg9kFggCAQ8PFgIfBQUbfi9wcm9kdWN0aW1hZ2UvQkFSMDExNTIuanBnZGQCAw8PFgIfBgUIQkFSMDExNTJkZAIFDw8WAh8GBVZCQ1A4MDAwRVhUMyBFWFRFTkRFRCAzICgyKzEpIFlFQVJTIE1BTlVGQUNUVVJJTkcgREVGRUNUIFdBUlJBTlRZIEJDUDgwMDAgREFUQSBURVJNSU5BTGRkAgcPDxYCHwYFD0JBUkNPREUgU0NBTk5FUmRkAgIPZBYCZg9kFgJmD2QWCAIBDw8WAh8FBRt+L3Byb2R1Y3RpbWFnZS9CQVIwMTE1MS5qcGdkZAIDDw8WAh8GBQhCQVIwMTE1MWRkAgUPDxYCHwYFTFBIRDIwMjI2MTAxIFRQSCBUSEVSTUFMIFBSSU5USEVBRCAyMDNEUEkgRk9SIERBVEFNQVggRE1YIE0gQ0xBU1MgTUlJIFBSSU5URVJkZAIHDw8WAh8GBQ9EQVRBTUFYIE0gQ0xBU1NkZAIED2QWAmYPZBYCZg9kFggCAQ8PFgIfBQUbfi9wcm9kdWN0aW1hZ2UvQkFSMDExNTAuanBnZGQCAw8PFgIfBgUIQkFSMDExNTBkZAIFDw8WAh8GBTlCQ1A4MDAwIERBVEEgVEVSTUlOQUwgTEFTRVIgMU1CLzRNQiBSUzIzMiBVU0IgQ0FCTEUgQkxBQ0tkZAIHDw8WAh8GBQ9CQVJDT0RFIFNDQU5ORVJkZAIED2QWBmYPZBYCZg9kFgJmD2QWCAIBDw8WAh8FBRt+L3Byb2R1Y3RpbWFnZS9CQVIwMTE0OS5qcGdkZAIDDw8WAh8GBQhCQVIwMTE0OWRkAgUPDxYCHwYFPFBNNDNBMDEwMDAwMDAzMDEgUE00M0EgNC41SU5DSCAzMDBEUEkgRlQgUk9XIEVUSEVSTkVUIDEyOE1CIGRkAgcPDxYCHwYFBVBNNDNBZGQCAg9kFgJmD2QWAmYPZBYIAgEPDxYCHwUFG34vcHJvZHVjdGltYWdlL0JBUjAxMTQ4LmpwZ2RkAgMPDxYCHwYFCEJBUjAxMTQ4ZGQCBQ8PFgIfBgVhWlNONVNLUjUxIFNLT1JQSU9YMyAxNFdPUktJTkcgREFZUyBUVVJOQVJPVU5EIEVBU0UgT0YgQ0FSRSBDT01QUkVIRU5TSVZFIENPVkVSQUdFIDUtWUVBUiBQQUNLQUdFRGRkAgcPDxYCHwYFCVNLT1JQSU9YM2RkAgQPZBYCZg9kFgJmD2QWCAIBDw8WAh8FBRt+L3Byb2R1Y3RpbWFnZS9TVkMwMDEyNC5qcGdkZAIDDw8WAh8GBQhTVkMwMDEyNGRkAgUPDxYCHwYFSVNFTlRJTkVMIDIwMTIgREFUQSBFWENIQU5HRSBJTlNUQUxMQVRJT04gVEVTSU5HIEFORCBUUkFJTklORyBPTlNJVEUgMSBEQVlkZAIHDw8WAh8GBQhTRU5USU5BTGRkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBRxMb2dpblZpZXcxJExvZ2luMSRSZW1lbWJlck1lBQ1BU1B4RGF0YVZpZXcxBQ1BU1B4RGF0YVZpZXcxDxQrAAdkZmYCA2YCFGdkMBSkuj/XQpQVVL41154MjHTriF3AqkB5ahYmcD10itw=
__EVENTVALIDATION /wEWBgLiiri0BQKRyKzhAgKUxtegDAKi77CUBwKd6MPGBALNx9K3CuAiLP9Qxn4q+Nwy4Hl2t5zaXX+GadHLKCF8sJn6YTar
LoginView1$Login1$UserName USERNAME
LoginView1$Login1$Password PASSWORD
LoginView1$Login1$LoginButton Log In
ASPxDataView1 0;3;3
DXScript 1_141,1_79,1_123,1_82
下面的代码是我到目前为止的工作。
public void DoWork()
{
var url = "xxxxxxxx";
// Create the web request object
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
// Start the request
webRequest.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), webRequest);
}
void GetRequestStreamCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
// End the stream request operation
Stream postStream = webRequest.EndGetRequestStream(asynchronousResult);
// Create the post data
// Demo POST data
string postData =
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
// Add the post data to the web request
postStream.Write(byteArray, 0, byteArray.Length);
postStream.Close();
// Start the web request
webRequest.BeginGetResponse(new AsyncCallback(GetResponseCallback), webRequest);
}
void GetResponseCallback(IAsyncResult asynchronousResult)
{
try
{
HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
HttpWebResponse response;
// End the get response operation
response = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult);
Stream streamResponse = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamResponse);
var Response = streamReader.ReadToEnd();
streamResponse.Close();
streamReader.Close();
response.Close();
}
catch (WebException e)
{
// Error treatment
// ...
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
DoWork();
}