postar req HTML no RESTART ROUTER via terminal no CURL falha

1

Eu li na esta página como reiniciar o roteador usando o curl .
Eu tenho o comando para o meu roteador -

http://192.168.1.1/Forms/tools_system_1?restoreFlag=0&Restart=RESTART

Funciona quando eu o coloco na barra de endereços do navegador, mas quando eu uso o curl

curl -u admin:mypass 'http://192.168.1.1/Forms/tools_system_1?restoreFlag=0&Restart=RESTART'

Não funciona.
nenhuma saída está lá na tela do terminal.
EDITAR
Resultado de -

curl -i -u admin:mypass 'http://192.168.1.1/Forms/tools_system_1?restoreFlag=0&Restart=RESTART'

dá isto -

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="450TC1"
Content-Type: text/html
Transfer-Encoding: chunked
Server: RomPager/4.07 UPnP/1.0
EXT:

<html>
<head>
<title>Protected Object</title></head><body>
<h1>Protected Object</h1>This object on the RomPager server is protected

Saída de

curl --verbose -u admin:mypass 'http://192.168.1.1/Forms/tools_system_1?restoreFlag=0&Restart=RESTART'

Dá isto -

* About to connect() to 192.168.1.1 port 80 (#0)
*   Trying 192.168.1.1... connected
* Server auth using Basic with user 'admin'
> GET /Forms/tools_system_1?restoreFlag=0&Restart=RESTART HTTP/1.1
> Authorization: Basic YWRtaW46c2hhcmluZ2FuMDA3
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: 192.168.1.1
> Accept: */*
> 
< HTTP/1.1 303 See Other
< Location: http://192.168.1.1/progress.htm
< Content-Length: 0
< Server: RomPager/4.07 UPnP/1.0
< EXT:
< 
* Connection #0 to host 192.168.1.1 left intact
* Closing connection #0

Mas curl -u admin:mypass 192.168.1.1 retorna isso. Funciona bem!

<html>
<head>
<title>
</title><meta http-equiv="Content-Type" content="text/html; charset=
iso-8859-1">
<meta http-equiv=Content-Script-Type content=text/javascript>
<meta http-equiv=Content-Style-Type content=text/css>
</head><frameset rows="65,75,*" framespacing="0" border="0" frameborder="0">
<frame name="header" noresize src="status.html" marginwidth="0" marginheight="0">
<frame name="navigation" noresize src="navigation-status.html" marginwidth="0" marginheight="0">
<frame name="main" noresize src="../status/status_deviceinfo.htm" marginwidth="0" marginheight="0">
</frameset><noframes>
</noframes>
</html>
    
por Gaurav Sharma 27.03.2013 / 18:39

2 respostas

1

Prenda-se ao que funciona para você. Com base no seu comentário agora anterior, é possível que exista algum caractere especial na sua senha; tente agrupar suas credenciais entre aspas, por exemplo -u "admin:pass" .

Se o Wget funcionar, use-o; você pode usar a opção -O - para redirecionar a saída para o console (semelhante ao comportamento padrão do Curl), em vez de salvar o arquivo.

O envio de dados como solicitação POST também pode funcionar, por exemplo:

curl -u 'admin:mypass' --form 'restoreFlag=0&Restart=RESTART' 'http://192.168.1.1/Forms/tools_system_1'

Observe também que, em sua saída, o roteador retornou mensagem diferente para -i e --verbose flags— 401 Unauthorized para -i e 303 See Other para --verbose . Suponho que este último leve a uma reinicialização bem-sucedida. Eu não acho que os flags estejam relacionados ao comportamento do roteador, parece ser completamente aleatório.

De qualquer forma, eu não acho que essa pergunta seja específica para o Ubuntu de alguma forma, eu recomendo perguntar no SuperUser .

    
por jnv 29.03.2013 / 12:55
0

por coincidência eu estava tentando reiniciar o roteador então decidi fazer uma pesquisa em vez de reinventar a roda para que eu pousasse aqui.

encontrei algo interessante apenas execute isso, apenas execute isso diretamente seu roteador será reinicializado

curl --verbose -u user:pass 'http://192.168.1.1/progress.htm'

ou

curl --verbose -u user:pass 'http://192.168.1.1/progress.htm' -e 'http://192.168.1.1/maintenance/tools_system.htm'

ou

wget -v -F -S --http-user=user --http-password=pass --ignore-length --referer="http://admin:[email protected]/maintenance/tools_system.htm" "http://192.168.1.1/progress.htm" -O "info.output.file"

você pode remover o -v e -S do comando wget

às vezes, a curvatura falha na autenticação aleatoriamente.

    
por Mr. S 31.03.2013 / 21:26