PDA

Просмотр полной версии : Почему?


brasco2k
07.05.2008, 21:06
Ситуация такая:

Язык : perl


посылаю такой запрос:

send (SOCK, "POST /index.php?n=1 HTTP/1.0\n\n", 0);

Почуму мну в результате не возвращается нужный ответ?

Может я ни так пост-запрос составил?

P.S данные передаются постом проверял на снифере:
http://web-sniffer.net

Piflit
07.05.2008, 21:09
Host: site.com\r\n

в SOCK лежит соединение по ip, а на 1 ip могут быть разные домены. нужно определиться

и еще. если ты не передаешь пост данные, то пиши GET

Ky3bMu4
07.05.2008, 21:09
Учим мат часть - ?n=1 , codenet.ru/webmast/php/HTTP-POST.php

Spyder
07.05.2008, 21:10
омг
а чё LWP или IO:Socket не в моде?

brasco2k
07.05.2008, 21:40
Хост указан просто, решил скрыть.
Задал так:
send (SOCK, "POST /index.php? HTTP/1.0\r\n$host\r\nn=1b2de2499e5f93e00a5a90e79a9da4b1 \n\n", 0);
Вот теперь что пишет:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
n=1</pre>
</p>
<hr>
<address>Apache Server at localhost Port 80</address>
</body></html>

Piflit
07.05.2008, 21:43
send (SOCK, "POST /index.php? HTTP/1.0\r\n$host\r\nn=1b2de2499e5f93e00a5a90e79a9da4b1 \n\n", 0);
POST /index.php? HTTP/1.0\r\nHost: $host\r\nContent-Length: 34\r\n\r\nn=1b2de2499e5f93e00a5a90e79a9da4b1

ЗЫ парсер для мд5 сервисов пишешь?)

brasco2k
07.05.2008, 21:47
Может быть я олень но

POST /index.php HTTP/1.0\r\n
Host: $host\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 34\r\n
\r\n
n=7815696ecbf1c96e6894b779456d330e

не работает

ЗЫ парсер для мд5 сервисов пишешь?)

Ага

desTiny
07.05.2008, 21:48
POST /index.php? HTTP/1.0\r\n$host\r\n\r\nn=1b2de2499e5f93e00a5a90e79a9d a4b1\r\n\r\n

brasco2k
07.05.2008, 21:51
POST /index.php? HTTP/1.0\r\n$host\r\n\r\nn=1b2de2499e5f93e00a5a90e79a9d a4b1\r\n\r\n

POST /index.php? HTTP/1.0\r\n
Host: $host\r\n
\r\n
hash=1b2de2499e5f93e00a5a90e79a9da4b1\r\n\r\n

не работает.

desTiny
07.05.2008, 23:23
вопросик убери, что ли... и Content-Length добавь:

POST /index.php? HTTP/1.0\r\n
Host: $host\r\n
Content-Length: длина строки("n=1b2de2499e5f93e00a5a90e79a9da4b1")
\r\n
n=1b2de2499e5f93e00a5a90e79a9da4b1\r\n
\r\n

Piflit
07.05.2008, 23:27
вопросик убери, что ли... и Content-Length добавь:

POST /index.php? HTTP/1.0\r\n
Host: $host\r\n
Content-Length: длина строки("n=1b2de2499e5f93e00a5a90e79a9da4b1")
\r\n
n=1b2de2499e5f93e00a5a90e79a9da4b1\r\n
\r\n
1. см мой пост
2. зачем два переноса строки после пост параметров?

brasco2k проще запрос отснифать и отрезать все ненужное