Вот мой код, используя HttpWebRequest, чтобы автоматически заполнить веб-форму и отправить ее.Альтернативный способ HttpWebRequest VB.net с использованием метода POST
Dim cweb As String = "http://www.yellowpages.com/novato-ca/mip/creative-memories-consultant-senior-director-461725587/send_email?lid=171673036"
Dim POST As String = "&email%5Bto_address%[email protected]&email%5Bfrom_name%5D=Test Name&email%5Bfrom_address%[email protected]&email%5Bnote%5D=Hello There"
Dim request As HttpWebRequest
Dim response As HttpWebResponse
request = CType(WebRequest.Create(cweb), HttpWebRequest)
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36"
request.AllowAutoRedirect = True
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = POST.Length
request.Method = "POST"
request.KeepAlive = True
Dim requestStream As Stream = request.GetRequestStream()
Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST)
requestStream.Write(postBytes, 0, postBytes.Length)
requestStream.Close()
response = CType(request.GetResponse(), HttpWebResponse)
response.Close()
В этом коде я использовал форму отправки желтых страниц в качестве примера. Да, это позволяет мне заполнять и подавать, но мне нужны другие альтернативы. Есть ли другие альтернативы помимо WebClient, поскольку я уже пробовал это, чтобы отправлять запросы POST? Я прочитал о разделах, касающихся System.Net.Sockets, которые он может отправить запрос POST, но я не знаю, с чего начать. Любые советы будут с радостью приняты. Я действительно нахожу HttpWebRequest и WebClient abit медленным при отправке запросов POST.
Как вы еще не пробовали какие-либо другие способы сделать это до сих пор, я должен спросить: вы нашли '' HttpWebRequest' и WebClient' немного медленно по сравнению с чем? Вы правы, что вы можете использовать сокеты для отправки HTTP POST. Вы можете использовать их для отправки почти любых сетевых сообщений, поскольку они являются инфраструктурой связи, которая основывается на таких вещах, как «HttpWebRequest». Нет никакой гарантии, что запуск ваших собственных HTTP-классов ускорит процесс. – Adrian
Я хотел знать, как отправлять HTTP POST с помощью сокетов, но я не знаю с чего начать. Я сбиваю с толку, как отправлять POST-запросы с помощью сокетов. Большинство примеров, которые я прочитал, находятся в автономном режиме, когда сервер и клиент находятся в одной программе, только я не могу реализовать на основе моего кода HttpWebRequest выше. –
Я все еще не понимаю, почему у вас проблемы с «HttpWebRequest» и «WebClient». Это цель, для которой они созданы, и вы просто изобретаете колесо, если используете .Net Sockets, чтобы существенно переписать куски их функциональности. Тем не менее, быстрый Google приводит меня ко многим ответам на ваш запрос, некоторые из них прямо здесь, в StackOverflow. Я бы посоветовал вам сделать еще немного исследований, а затем вернуться и задать конкретные вопросы о вещах, которые вы не понимаете. Начните с Googling «как отправить HTTP-запрос с использованием .Net-сокетов». Это сработало для меня. – Adrian