Script que não recebe o URL corretamente
Eu estou usando um lote e script java combinados que encontrei para recuperar o html de um site usando um arquivo em lotes e um que abordamos não está retornando a saída desejada, como aparece quando eu uso o URL no Firefox.
O script que estou usando para obter o html é:
@if (@This==@IsBatch) @then
@echo off
rem **** batch zone *********************************************************
setlocal enableextensions disabledelayedexpansion
rem Batch file will delegate all the work to the script engine
if not "%~1"=="" (
cscript //E:JScript "%~dpnx0" %1
)
rem End of batch area. Ensure batch ends execution before reaching
rem javascript zone
exit /b
@end
// **** Javascript zone *****************************************************
// Instantiate the needed component to make url queries
var http = WScript.CreateObject('MSXML2.ServerXMLHTTP.6.0');
// Retrieve the url parameter
var url = WScript.Arguments.Item(0)
// Make the request
http.open("GET", url, false);
http.send();
// If we get a OK from server (status 200), echo data to console
if (http.status === 200) WScript.StdOut.Write(http.responseText);
// All done. Exit
WScript.Quit(0);
O URL que estou tentando alimentar o script éhttp://gatherer.wizards.com/Pages/Search/Default.aspx?output=spoiler&method=visual&action=advanced&set= ["Arabian + Noites"]
ou alternativamentehttp://gatherer.wizards.com/Pages/Search/Default.aspx?output=spoiler&method=visual&action=advanced&set= ["Noites arábicas"]
o problema parece ser o espaço / +, pois nenhum dos outros URLs que eu alimento está usando um espaço ou +
A maneira como estou chamando o script para obter o html é:
call callurl.cmd "http://gatherer.wizards.com/Pages/Search/Default.aspx?output=spoiler&method=visual&action=advanced&set=["Arabian+Nights"]"
edit: encontrou o tópico original do qual o script éAbra um URL sem usar um navegador em um arquivo em lotes
a única alteração que fiz foi Msxml2.XMLHTTP.6.0 foi alterada para MSXML2.ServerXMLHTTP.6.0 porque o script original não pôde carregar sites devido à segurança do que encontrei.