我正在使用一个用Active State Perl编写的服务器。显然,如果一个GET
请求形成不好,响应结果将返回,但没有他们的http头。对我而言,情况确实如此。为什么请求的请求很少?
Perl服务器侦听请求并分别使用IO::Socket
和SendHTTPRequest
发送响应。
所以我的问题如下。请求GET
请求无效?
“GET ?CA = 1个& STREET = 990%20MASS%20AVENUE & STREET2 = UNIT%20A37 & CITY =阿灵顿& STATE = MA & ZIP = 00000%20HTTP/1.1 \ r \ n \ r \ n“
如果请求无效,它如何失效?我想更正格式。
显然,ActiveState Perl认为请求无效。
套接字设置正确后,下面的代码发送请求并等待响应。如果您需要查看包括主机名的套接字设置,我将编辑此帖并在底部添加,但假设套接字设置正确。
size_t bytes_read = 0; /* Keeps per-loop read-count. */
char local_buf[INET_BUF_LEN] = {'\0'};
total_socket_read_bytesM = 0; /* Initialize module-scope read length */
write (socket_fdP, request_bufP, strlen(request_bufP));
while(TRUE)
{
if(total_socket_read_bytesM <= (read_bufP_len - 1))
{
bytes_read = read(socket_fdP, (local_buf + bytes_read), sizeof(local_buf));
if (bytes_read == 0)
{
break;
}
else
{
total_socket_read_bytesM += bytes_read;
}
}
else
{
break;
}
}
我可以踢,而不是担心,因为我得到的结果回来。不过,我想写我的C程序来创建一个有效的http GET
请求。
结语:
这是我的工作要求是什么样子?
“GET/CA = 1个& STREET = 990%20MASS%20AVENUE & STREET2 =单位%20A37 & CITY =阿灵顿& STATE = MA & ZIP = 00000 HTTP/1.1 \ r \ n \ r \ n“
什么是最后的'%20HTTP/1.1 \ r \ n \ r \ n'? 'GET'call? – 2013-03-12 14:53:39