Ich möchte Bulk-Lookup ip details at ipinfo.io Hier ist mein Code. $ cat ips.txt | xargs -I% curl http://ipinfo.io/%/region
curl: (3) Ungültige Zeichen in URL gefunden
Die Datei "ips.txt" jeweils auf einer separaten Zeile drei IP-Adressen enthält: (1) 8.8.8.8 (2) 8.8.4.4 (3) 1.2.3.4
Dies löst nur die letzte IP-Adresse. Es sollte (1) Kalifornien (2) Colorado (3) Washington geben. Ich erhalte die folgende Liste:
curl: (3) Illegal in URL curl gefunden Zeichen: (3) Ungültige Zeichen in URL gefunden Washington
Wenn ich ips.txt mit nur einer IP schreiben Adresse (zum Beispiel 8.8.8.8) bekomme ich gute Ergebnisse. Ich denke, mit meiner Textdatei oder der Art, wie ich Katzen benutze, stimmt etwas nicht. Können Sie mir helfen, meinen Code zu säubern, damit alle drei IP-Adressen aufgelöst werden?
Auf Anfrage, hier sind Details meiner Einrichtung.
$ uname -a
CYGWIN_NT-10.0 OFFICECOMP 2.3.1(0.291/5/3) 2015-11-14 12:44 x86_64 Cygwin
$ curl -V
curl 7.45.0 (x86_64-unknown-cygwin) libcurl/7.45.0 OpenSSL/1.0.2d zlib/1.2.8 lib idn/1.29 libssh2/1.5.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: Debug IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets Metali
Ohne den Inhalt von ips.txt zu kennen, können wir nicht viel tun. Was Sie tun können, ist, den Curl-Aufruf durch ein Skript zu ersetzen, das "echo" trying URL '$ 1' "; curl "$ 1" '- damit kannst du sehen, welcher fehlschlägt. – viraptor
ips.txt ist einfach drei einzelne Zeilen von drei IP-Adressen 8.8.8.8 8.8.4.4 1.2.3.4 – MistaGill
Wenn ich zwei der IP-Adressen eliminiere und nur eins behalte, funktioniert die Curl gut und ich bekomme Ergebnisse. – MistaGill