2017-02-17 9 views
-1

У меня есть Url вроде этого:Вставить данные с URL-адресом?

http://treen.workcloud.at/?tag=answererq&tan=123456789&answer=1&id=1

Когда я ввести его в моем браузере загар, ответ и Id получить вставленной в базу данных MySql. Теперь я хочу, чтобы это делалось на C#, но я не знаю, как это сделать. Это код, который у меня есть до сих пор.

 string qid = lbid.Content.ToString(); 
     int answer = 1; 
     string urla = @"http://treen.workcloud.at/?tag=answereq&tan=" + tan + id + answer; 


     var httpWebRequest = (HttpWebRequest)WebRequest.Create(urla); 
     //httpWebRequest.ContentType = "application/json"; 
     httpWebRequest.Method = "POST"; 

     using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
     { 

     } 

     var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
     using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
     { 
      var result = streamReader.ReadToEnd(); 
     } 

ответ

1

У вас есть ? в вашем URL-адресе, что неверно. Это должно быть ?. Это правильный URL-адрес:

http://treen.workcloud.at?tag=answererq&tan=123456789&answer=1&id=1

? сигнализирует о начале строки запроса в запросе GET.

Кроме того, поскольку это запрос GET, вы не должны устанавливать заголовок Content Type, и вы не должны добавлять контент к запросу. Используйте что-то еще вот так:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://treen.workcloud.at?tag=answererq&tan=123456789&answer=1&id=1"); 

using (var webResponse = (HttpWebResponse)request.GetResponse()) 
{ 
    using (var streamReader = new StreamReader(webResponse.GetResponseStream())) 
    { 
     var result = streamReader.ReadToEnd(); 
    } 
} 
+0

да извините, это была ошибка ввода, которую я редактировал в моем вопросе. – myplanet

+0

Поскольку это запрос на получение, просмотр его должен показать вам результат, который вы вернетесь. Когда я перейду к этому местоположению, я получаю ввод формы. Возможно ли, что запрос не является приемлемым запросом для этого сайта? – maniak1982

0

Если вам нужен самый простой способ получить значения из URL-адреса, почему бы не прочитать их из строки запроса. Например .: string tanValue = Request.QueryString["tan"]; string answerValue = Request.QueryString["answer"]; string idValue = Request.QueryString["id"];

+0

Я хочу вставить их, чтобы их не достать. – myplanet

2

Сначала я думаю, что ваш URL не совсем верно. Для передачи параметров должен быть формат.

string url= www.blahblahblah.com?parameter1=myvalue&parameter2=myothervalue 

Вызов Request.QueryString [ «параметр1»] возвращает значение в URL, который имеет название параметр1 так возвращенного значение

var parameter1 = Request.QueryString["parameter1"];\\equals myvalue 

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

var parameter1 = Request.QueryString["parameter1"]; 
var parameter2 = Request.QueryString["parameter2"]; 
//check if the querystring exists 
if (parameter1 != null && parameter2 !=null) 
{ 
    UpdateDatabase (parameter1, parameter2); 
} 

Возможно, вам потребуется добавить пространство имен system.web. См. Документацию MDSN here.

+0

да извините, это была ошибка ввода, которую я отредактировал в моем вопросе. – myplanet

+0

но как я могу предпочесть мой url в вашем коде? – myplanet

+0

И я не хочу вставлять фиксированные данные в базу данных. Данные, которые должны быть опубликованы, поступают из меток и т. Д. – myplanet

 Смежные вопросы

  • Нет связанных вопросов^_^