我正在使用一個用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