Как запустить URL за кулисами, не отображая его в браузере? - PullRequest
3 голосов
/ 26 июля 2010

Я хочу в основном запустить URL, который я буду генерировать за кулисами, фактически не отображая его в браузере для пользователя ... я думаю, я мог бы использовать HTTPWebRequest или, может быть, что-то похожее на свертывание? ... но мне нужно действительнопросто в основном посещать / запускать сгенерированный URL?как я могу это сделать?

Ответы [ 4 ]

6 голосов
/ 26 июля 2010

Используйте класс WebRequest и его друзей.

Другими более современными вариантами являются класс WebClient , который в некоторых случаях проще использовать, а HttpClient класс, который дает вам очень подробный контроль над запросами и ответами.

1 голос
/ 26 июля 2010

Я предполагаю, что вы ищете что-то подобное?

Dim request = WebRequest.Create(strUrl)
request.Method = "POST"
request.ContentType = "text/xml" 'change to whatever you need

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

Using sw As New StreamWriter(request.GetRequestStream())
    sw.WriteLine(HtmlOrXml)
End Using

Получите ответ:

Dim response = CType(request.GetResponse(), HttpWebResponse)

Затем вы можете использовать StreamReader для чтения ответа.Вы можете найти больше о классах, используемых выше в MSDN.

1 голос
/ 26 июля 2010

Здесь есть хороший пример http://www.netomatix.com/httppostdata.aspx

Я скопировал и вставил пример метода, используемого для перехода к URL:

private void OnPostInfoClick(object sender, System.EventArgs e)
{
    string strId = UserId_TextBox.Text;
    string strName = Name_TextBox.Text;

    ASCIIEncoding encoding=new ASCIIEncoding();
    string postData="userid="+strId;
    postData += ("&username="+strName);
    byte[]  data = encoding.GetBytes(postData);

    // Prepare web request...
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://localhost/MyIdentity/Default.aspx");
    myRequest.Method = "POST";
    myRequest.ContentType="application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    Stream newStream=myRequest.GetRequestStream();

    // Send the data.
    newStream.Write(data,0,data.Length);
    newStream.Close();
}
1 голос
/ 26 июля 2010

я использовал один способ: опубликовать скрытый iframe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...