При вызове того же метода на google chrome postman
после входа в систему, я получаю объект json, как показано ниже. HTTP POST дает несанкционированный отказ 401
но когда я пытаюсь получить тот же результат json в codebehind (C#). Я получаю исключение Unauthorized 401.
Я использую свой код следующим образом.
using (var clientSideTab = new WebClient())
{
var valSideTab = new System.Collections.Specialized.NameValueCollection { { "username", UserID }, { "Password", strPassword } };
string UpldDataSideTab = "https://resapistage.namechanged.com/v3/secure/Login.aspx?userId=" + UserID + "&passwd=" + strPassword + " ";
SystemComponentWrapper SPPostWrapper = new SystemComponentWrapper();
SystemComponentData request = new SystemComponentData();
SystemComponentaddressId addressId = new SystemComponentaddressId();
addressId.type = "AddressId";
addressId.id = 19863;
addressId.serial = "";
request.addressId = addressId;
request.compId = null;
request.getCompParams = true;
request.filterForAddress = false;
SPPostWrapper.request = request;
var postJson = JsonConvert.SerializeObject(SPPostWrapper);
Encoding encoding = new UTF8Encoding();
string postData = postJson.ToString();
byte[] bdata = encoding.GetBytes(postData);
string URI = "https://resapistage.namechanged.com/v3/api/secure/json/AddressInfo.svc/getSystemComponentsV2";
clientSideTab.UploadValues(UpldDataSideTab, "POST", valSideTab);
clientSideTab.Headers.Add("Content-Type","application/json; charset=utf-8");
clientSideTab.Headers.Add("Accept","application/json");
clientSideTab.UploadString(URI,"POST", postData);
//clientSideTab.UploadData(URI, "POST", bdata);
String jsonresponse = "failed";
Label1.Text = jsonresponse;
}
Я получаю эту ошибку каждый раз. пожалуйста помогите.
Требуется ли проверка подлинности сайта? Вы выполняете аутентификацию при вызове хром? С вызовом C# вы отправляете свои файлы cookie, которые показывают, что вы прошли проверку подлинности? –
Как отправить cookie в webclient вместе с данными json, чтобы получить ответ json? –
Поиск в google привел меня к этому вопросу о переполнении стека: http://stackoverflow.com/questions/13275042/add-cookie-to-webclient –