) HTTP 클라이언트를 사용하여 웹 사이트에 양식을 보내려고합니다. 그런 다음 웹 사이트에서 내 요청에 따라 데이터 목록을 반환합니다. 프로세스 자체는 정상적으로 작동하지만 브라우저에서 손으로 만 수행하면 충분하다는 3 가지 요청을 수행해야합니다.httpclienthandler를 사용하여 하나의 매개 변수로 여러 값을 게시 (C#
브라우저에는 데이터에 필터를 적용하는 확인란이 여러 개 있습니다. 게시 된 HTTP의 형태로 그 안에 다음과 같은 데이터가 있습니다
나는 다음 FormUrlEncodedContent로 변환 C#에서 dictonary 작성하여 동일한 데이터를 얻을 수 있었다 :
values = new Dictionary<string, string>
{
{ "statuses[]", "2048" },
{ "issued_from", "" },
{ "issued_till", "" },
{ "listing_from", "" },
{ "listing_till", "" },
};
var content = new FormUrlEncodedContent(values);
content.Headers.Add("X-Requested-With", "XMLHttpRequest");
var response = GlobalVar.client.PostAsync(URI, content).Result;
로를 이 방법을 나는 3 개의 요청을하고 나중에 얻은 데이터를 병합해야합니다. 이것은 분명히 내 시스템 리소스 비용, 서버 리소스 비용 및 인터넷 대역폭과 관련된 가장 깨끗한 솔루션이 아닙니다.
:Referer: https://www.example.com/en/example/?statuses[]=512&statuses[]=1024&statuses[]=2048&max_results=100&page=1
를이 난 그냥 사전에 상태를 세 번 추가 할 수 있습니다 결론에 나를 인도 :
나는 다음처럼 보였다 브라우저에서 요청의 포맷되지 않은 헤더를 확인values = new Dictionary<string, string>
{
{ "statuses[]", "512" },
{ "statuses[]", "1024" },
{ "statuses[]", "2048" },
{ "issued_from", "" },
{ "issued_till", "" },
{ "listing_from", "" },
{ "listing_till", "" }
};
사전은 데이터베이스처럼 작동하는 것으로 보이며 동일한 키 값을 여러 번 허용하지 않습니다.
하나의 요청으로 세 가지 상태를 모두 게시 할 수있는 방법에 대한 해결책을 가진 사람이 있습니까? 그냥 다른 것과 같은 것을 사용할 수 있습니까?
List<Tuple<string,string>>()?
많은 도움을 주셔서 감사합니다.