Содержание:
Хочу написать программу по отправке содержимого web форм через мою программу.
Использую методы HttpWebRequest и HttpWebResponse.
Пишу на Basic'e в Visual Studio.NET 2008
И вот какая проблема:
При нажатии на кнопку должен отправляться запрос(пока без ответа), и при его отправки мне пишут ошибку:Невозможно отправить тело содержимого с данным типом предиката.
Что это за ошибка?
Вот код на VB.NET:
Imports System
Imports System.Net
Imports System.Text
Imports System.IO
Imports System.Web
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim zapros As HttpWebRequest = HttpWebRequest.Create("http://localhost/file/")
zapros.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 MRA 5.5 (build 02746) Firefox/2.0.0.14"
zapros.Accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
zapros.Headers.Add("Accept-Language:ru")
zapros.SendChunked = True
zapros.TransferEncoding = "gzip"
zapros.KeepAlive = True
zapros.Connection = "Open"
zapros.Referer = "http://localhost/file/"
zapros.ContentType = "application/x-www-form-urlencoded"
Dim sd As String = "?gif=2&bt=1"
Dim btar As Byte() = Encoding.GetEncoding(1251).GetBytes(sd)
zapros.ContentLength = btar.Length
zapros.GetRequestStream().Write(btar, 0, btar.Length)
End Sub
End Class
Вот то что я отправляю:
POST /file/ HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 MRA 5.5 (build 02746) Firefox/2.0.0.14
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/file/
Content-Type: application/x-www-form-urlencoded
Content-Length: 10
А тело формы выглядет так: gif=2&bt=1
Вот и код страницы:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>First</title>
</head>
<body>
Test page<BR>
<form action="" method="post">
<input name="gif" type="text" value=""><br><input name="bt" type="submit" value="1">
</form>
<?php
echo "<IMG SRC='" . $_POST["gif"] . ".jpg'></img>";
?>
</body>
</html>
Ну и архив с проектом
http://www.programmersforum.ru/attachment.php?attachmentid=20812&stc=1&d=1264799178