@up7

Как составить запрос правильно?

Есть код на PHP, перевожу его на C#:

$fields = array(
            'Page' => $page,
	    'Sides' => array(
            ),
        );

$fields_string = http_build_query($fields);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);


То есть отправляю пост запрос:

var values = new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("Page", Page)
            };

//как правильно тут добавить массив?

var content = new FormUrlEncodedContent(values);
var response = await client.PostAsync(ur, content);


Иными словами, как засунуть в стринг массив, чтобы потом это прожевал FormUrlEncodedConten?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
twobomb
@twobomb
Попробуй
var values = new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("Page", Page),
                new KeyValuePair<string, string>("Sides[0]", side1),
                new KeyValuePair<string, string>("Sides[1]", side2),
                   ....
            };

Или
var values = new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("Page", Page)
            };
for(var i = 0; i < sides.Length;i++)
  values.Add( new KeyValuePair<string, string>("Sides["+i+"]", sides[i]));

P.S. На крайняк можно написать свой метод http_build_query, который будет принимать какой нибудь Dictinary < string ,object >, и по умному формировать этот массив. Хотя возможно уже есть какой нибудь похожий метод нужно читать доки
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@up7 Автор вопроса
Решил простым преобразованием вручную, если кому интересно:

string json = "{'Page':1,'Count':25,'Sides':['"+ Sides + "']}";
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы