Страница: 1 |
Страница: 1 |
Вопрос: Отправка на интернет форму
Добавлено: 05.08.07 13:19
Автор вопроса: GreatHun | Web-сайт:
Надо чтобы программа сама отправляла данные на форму
К примеру есть такая форма
<form action='http://www.primerforma/forma/' method='post'>
<input type='text' maxlength=11 name='input1' />
<input type='hidden' name='input2' />
<input type='submit' value='Send' />
</form>
надо чтобы программа как бы эмулировала нажатие кноки "submit"
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #1
Добавлено: 05.08.07 15:00
RFC1945, глава 8.3
the entity enclosed in the request as a new subordinate of the
resource identified by the Request-URI in the Request-Line. POST is
designed to allow a uniform method to cover the following functions:
o Annotation of existing resources;
o Posting a message to a bulletin board, newsgroup, mailing list,
or similar group of articles;
o Providing a block of data, such as the result of submitting a
form [3], to a data-handling process;
o Extending a database through an append operation.
The actual function performed by the POST method is determined by the
server and is usually dependent on the Request-URI. The posted entity
is subordinate to that URI in the same way that a file is subordinate
to a directory containing it, a news article is subordinate to a
newsgroup to which it is posted, or a record is subordinate to a
database.
A successful POST does not require that the entity be created as a
resource on the origin server or made accessible for future
reference. That is, the action performed by the POST method might not
result in a resource that can be identified by a URI. In this case,
either 200 (ok) or 204 (no content) is the appropriate response
status, depending on whether or not the response includes an entity
that describes the result.
If a resource has been created on the origin server, the response
should be 201 (created) and contain an entity (preferably of type
"text/html" which describes the status of the request and refers to
the new resource.
A valid Content-Length is required on all HTTP/1.0 POST requests. An
HTTP/1.0 server should respond with a 400 (bad request) message if it
cannot determine the length of the request message's content.
Applications must not cache responses to a POST request because the
application has no way of knowing that the server would return an
equivalent response on some future request.
Номер ответа: 2
Автор ответа:
GreatHun
Вопросов: 3
Ответов: 5
Web-сайт:
Профиль | | #2
Добавлено: 05.08.07 17:48
Надо добавь WinSock Control и кнопку. В код формы вставить:
Куда надо записывать этот блок кода?
Winsock1.Protocol = sckTCPProtocol 'Установка протокола
Winsock1.Connect "имя_сервера", 80 'подключение через порт 80 (ЧТО НАДО УКАЗЫВАТЬ В ИМЕНИ СЕРВЕРА? Полный путь к файлу?)
While Not Winsock1.State = 7 'Ждем, пока подключится.
DoEvents '
Wend '
Parametrs="параметр1=значение&параметр2=значение" 'сохраняем параметры в 'переменной
Далее все зависит от того, каким методом передавать. Если через метод POST, то:
'Какоa вид у адреса скрипта?
Winsock1.SendData "POST /адрес_скрипта HTTP/1.1" & vbCrLf
Winsock1.SendData "Content-Type: application/x-www-form-urlencoded" & vbCrLf
Winsock1.SendData "Host: имя_сервера" & vbCrLf
Winsock1.SendData "Content-Length: " & len(Parametrs) & vbCrLf & vbCrLf
Winsock1.SendData Parametrs & vbCrLf
Если через метод GET, то:
Winsock1.SendData "GET /адрес_скрипта?" & Parametrs & " HTTP/1.0" & vbCrLf & vbCrLf
Далее сервер запустит скрипт и передаст данные, еоторые выдаст скрипт, т.е страницу, которая появилась бы в браузере. Если надо принять эти данные, то добавь еще это:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
Winsock1.GetData Data
End Sub
В переменной Data будут только что принятые данные, сохрани их где-нибудь (например в другой переменной), можешь делать с ними, что захочешь. Сначала сервер выдаст ответ типа:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Fri, 22 Feb 2002 11:12:20 GMT
Connection: Keep-Alive
Content-Length: 8
Content-Type: text/html
Set-Cookie: ASPSESSIONIDQGQQQLBQ=DFPBBDBDJOGMHODFDFALACNK; path=/
Cache-control: private
После того, как параметры закончатся, будет пустая строка, а потом страница.
Количество символов указано в параметре Content-Length.
Номер ответа: 3
Автор ответа:
gvozd
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
Web-сайт:
Профиль | | #3
Добавлено: 05.08.07 19:27
Ахтунг! Спамер!
Номер ответа: 4
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #4
Добавлено: 05.08.07 20:06
gvozd, обоснуй...
Номер ответа: 5
Автор ответа:
GreatHun
Вопросов: 3
Ответов: 5
Web-сайт:
Профиль | | #5
Добавлено: 05.08.07 20:38
мужусь над прогой отпраки СМС.
Номер ответа: 6
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #6
Добавлено: 05.08.07 21:30
Ага, ага. Заходим на сайт любого сотового оператора, там картинка на бесплатную отправку смс, но у нас же есть http://www.vbnet.ru/forum/show.aspx?id=149630, поэтому мы доблестно пишем спамилку!..
Номер ответа: 7
Автор ответа:
gvozd
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
Web-сайт:
Профиль | | #7
Добавлено: 06.08.07 10:50
ZagZag, этот пользователь имеет 2 вопроса и 2 ответа, все они о распознавании CAPTCHA и о отправление формы.
Номер ответа: 8
Автор ответа:
GreatHun
Вопросов: 3
Ответов: 5
Web-сайт:
Профиль | | #8
Добавлено: 06.08.07 14:21
Для особо одаренных со спамофобией!
<center>
<h2>BeeLine SMS Send</h2>
<form action='http://www.beonline.ru/servlet/send/sms/' method='post'>
Phone: <small>in format 79031234567)</small>
<input type='text' maxlength=11 name='phone' /><br />
<input type='hidden' name='number_sms' value='number_sms_send' />
<input type='hidden' name='prf' value='7909' />
<input type='hidden' name='termtype' value='G' />
<textarea name='message' rows=10 cols=55></textarea><br />
<input type='hidden' name='translit' value='' />
<input type='hidden' name='x' value='5' />
<input type='hidden' name='y' value='4' />
<input type='submit' value='Send' />
</form>
</center>
Юзайте чудики!
Уже сам во всем разобрался(просто winsock подзабыл)