Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: На VB6 передать данные на вебсервер Добавлено: 12.11.07 10:36  

Автор вопроса:  vldmir
Помогите пожалуйста!
Такой вот код передачи данных через Winsock, методом POST:
Ws1.Connect "site", 80
Do While Not Ws1.State = 7
    DoEvents
Loop

ee = String(23, "-") & idf _
        & "Content-Disposition: form-data; name=""data""" _
        & "" & vbCrLf _
        & ee & vbCrLf _
        & String(23, "-") & "--"

sd = "POST /a.php HTTP/1.0" & vbCrLf
sd = sd & "User-Agent: VB6 WinSock" & vbCrLf
sd = sd & "Host: site" & vbCrLf
sd = sd & "Accept: text/html, application/xml, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*" & vbCrLf
sd = sd & "Accept-Language: ru,en" & vbCrLf
sd = sd & "Accept-Charset: iso-8859-1, utf-8, utf-16, *" & vbCrLf
sd = sd & "Accept-Encoding: deflate, gzip, x-gzip, identity, *" & vbCrLf
sd = sd & "Referer: http://site/" & vbCrLf
sd = sd & "Pragma: no-cache" & vbCrLf
sd = sd & "cache-Control: no-cache" & vbCrLf
sd = sd & "Content-Length: " & Len(ee) & vbCrLf
sd = sd & "Content-Type: multipart/form-data; boundary=" & String(23, "-") & idf & vbCrLf
sd = sd & "Connection: keep-alive" & vbCrLf
sd = sd & "" & vbCrLf
sd = sd & ee

Ws1.SendData sd

Все вроде нормально, но данные не передаются, переменной date нет почему-то.
вывожу для проверки print_r($_POST) - пусто, хотя все пишу так как браузер отправляет

Использую Denwer в качестве вебсервера

Что делать? Все перепробывал, не выходит, не пойму почему

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Champion



ICQ: 461506481 

Вопросов: 38
Ответов: 88
 Web-сайт: afhelp.in.ua
 Профиль | | #1
Добавлено: 12.11.07 14:44
ee = String(23, "-";) & idf _
        & "Content-Disposition: form-data; name=""data""" _
        & "" & vbCrLf _
        & ee & vbCrLf _
        & String(23, "-";) & "--"

так и должно быть? или в ee до этого что-то хранится?

очень часто формировал запросы для винсока, если не работает, всегда была ошибка в синтаксисе
поэтому отказался от создания хедера в программе, читаю из файла-заготовки, подменяя данные

к примеру, в файле типа так, как обычно

POST {FPATH} HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*
Referer: http://{HOST}/
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser; .NET CLR 2.0.50727)
Host: {HOST}
Content-Length: {LENHEADER}
Cache-Control: no-cache
Connection: close
Cookie: {COOKIE}

{HEADER}


заменяю только {что нада заменить} и всё
и код читается проще, и изменять можна что угодно, не компилируя заново

Ответить

Номер ответа: 2
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #2 Добавлено: 12.11.07 15:04
Упустил в коде, в ее до этого как раз хранятся данные которые нужно выслать.
Синтаксис проверял, ответа с ошибкой нет.
Вообще я взял то, что высылал браузер и просто вставил в код, а то что читать из файла - это да, надо, но не в данный момент, в данный момент надо выяснить, почему когда я точ-в-точь высылаю то, что высылает браузер, данные на вебсервере не оказываются?
Мож у кого есть снифер какой нить для HTTP протокола, чтоб точ-в-точь отображал данные которые высылаются и принимаются? А то через лог проксомитрона все смотрел (сам еще поищу в нете)

Ответить

Номер ответа: 3
Автор ответа:
 vldmir



Вопросов: 6
Ответов: 16
 Профиль | | #3 Добавлено: 12.11.07 16:28
YEEEEEEESSSSS!!!!!!!
Скачал значит HTTPLook, все посмотрел, сделал так как IE высылает.
Оказывается то, что не совсем так высылало :)
Есть такие вот штуки:
------------234623974263
так оно то тут так
Content-Type: multipart/form-data; boundary=---------------------------7d72422d407c0

а в теле данных так
-----------------------------7d72422d407c0

т.е. на два "-" больше, а почему так - мне уже все равно :)
вот ведь оно штука какая :)))))

Спасибо за внимание! :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам