Post返回400错误,可能是发送的数据有问题 谁来帮帮我
我写一个能通过post点击的我网页按钮的程序,可放回总是400错误
400 bad request
the request has an invalid header name
是我要发送的数据有问题吗 请大家帮我看一看。
protected void Button1_Click(object sender, EventArgs e) { Label1.Text = (int.Parse(Label1.Text) + 1).ToString(); }#include "stdio.h"#include "stdlib.h"#include "winsock2.h"#include"conio.h"#pragma comment(lib,"ws2_32.lib")int main(){ SOCKET hsocket; SOCKADDR_IN saServer; WSADATA wsadata; LPHOSTENT lphostent; int nRet; char* host_name="192.168.219.1"; char* reqHead="POST /default.aspx HTTP/1.1\r\n" "pragma:no-cache\r\n""Accept:text/html, application/xhtml+xml, */*\r\n""Referer:http://192.168.219.1/default.aspx\r\n""Accept-Language:zh-CN\r\n""User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\n""Content-Type:application/x-www-form-urlencoded\r\n""Accept-Encoding:gzip,deflate\r\n""Host:192.168.219.1\r\n""Content-Length:192\r\n""Connection:Keep-Alive\r\n""Cache-Control:no-cache\r\n""__VIEWSTATE=%2FwEPDwUKLTMyNDcxODYzNQ9kFgICAw9kFgICAw8PFgIeBFRleHQFATJkZGSwHfmZ0K4tQfRw3xFfLisrdyd0wg%3D%3D&__EVENTVALIDATION=%2FwEWAgKWw8aHBgKM54rGBmWhGwUcHj2AyR2%2BpwXvfu0qkwRW&Button1=Button";// 初始化套接字 while(1) { if(WSAStartup(MAKEWORD(2,2),&wsadata)) printf("初始化SOCKET出错!"); lphostent=gethostbyname(host_name); if(lphostent==NULL) printf("lphostent为空!"); hsocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); saServer.sin_family = AF_INET; saServer.sin_port = htons(80); saServer.sin_addr =*((LPIN_ADDR)*lphostent->h_addr_list); // 利用SOCKET连接 nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(SOCKADDR_IN)); if(nRet == SOCKET_ERROR) { printf("建立连接时出错!"); closesocket(hsocket); return 0; } // 利用SOCKET发送 if(getch()=='1'){ nRet = send(hsocket,reqHead,strlen(reqHead),0); if(nRet==SOCKET_ERROR) { printf("发送数据包时出错!"); closesocket(hsocket); } char Dest[3000]; memset(Dest,0,3000); nRet=1; while(nRet>0) { //send(hsocket,reqHead,strlen(reqHead),0); // 接收返回数据包 nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0); if(nRet>0) Dest[nRet]=0; else Dest[0]=0; // 显示返回数据包的大小、内容 printf("\nReceived bytes:%d\n",nRet); printf("Result:\n%s",Dest); }} }}