C # Fazer a ligação Analyzer ficando Pedido de erros ruim?
-
22-07-2019 - |
Pergunta
Eu tenho um programa bastante simples que leva em um URL e cospe primeiro lugar ele redireciona para. De qualquer forma, eu tenho testado-lo em alguns links e notou recebe 400 erros em algumas urls. Eu tentei testar essas urls, colando-o em meu navegador e que funcionou bem.
static string getLoc(string curLoc, out string StatusDescription, int timeoutmillseconds)
{
HttpWebRequest x = (HttpWebRequest)WebRequest.Create(curLoc);
x.UserAgent = "Opera/9.52 (Windows NT 6.0; U; en)";
x.Timeout = timeoutmillseconds;
x.AllowAutoRedirect = false;
HttpWebResponse y = null;
try
{
y = (HttpWebResponse)x.GetResponse(); //At this point it throws a 400 bad request exception.
Solução
Eu acho que algo estranho está acontecendo com cookies. Acontece que devido à forma como eu estava testando o link, os cookies necessários para que ele funcione estavam no meu navegador, mas não a ligação. Acontece que alguns dos links que eu estava testando manualmente (quando os outros links falhou) foram gerando cookies.
É um pouco complicado que aconteceu, mas a resposta curta é que meu navegador tinha cookies, o programa não o fez, mantendo os biscoitos entre redirecionamentos não resolveu o problema.
O problema subjacente é causado pelo fato de que o link que eu estou testando requer ou um parâmetro extra ou um cookie ou ambos. Eu estava tentando evitar tanto em meus testes desde o parâmetro / biscoitos foram para rastrear e eu não queria quebrar rastreamento.
Em suma, eu sei qual é o problema, mas não é um problema solucionável.