Ich habe Probleme, während ich R mit dem Internet in meinem Büro verbinde. Möglicherweise liegt dies an den LAN-Einstellungen. Ich habe fast alle Möglichkeiten ausprobiert, die mir im Web begegnen (siehe unten), aber immer noch vergebens.
Methode 1: Aufrufen von R mit
--internet2
Methode 2: Aufrufen von R durch Festlegen
~/Rgui.exe http_proxy=http:/999.99.99.99:8080/ http_proxy_user=ask
Methode 3: Einstellung
Setinternet2=TRUE
Methode 4:
curl <- getCurlHandle() curlSetOpt(.opts = list(proxy = '999.99.99.99:8080'), curl = curl) Res <- getURL('http://www.cricinfo.com', curl = curl)
Bei allen Methoden kann ich Pakete direkt aus CRAN laden und Dateien mit dem Befehl download.file herunterladen
Aber mit getURL(RCurl)
, readHTMLTable(XML)
, htmlTreeParse(XML)
Befehle Ich bin nicht in der Lage Web - Daten zu extrahieren. Ich bekomme einen ~<HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD>~
Fehler.
Wie lege ich die LAN-Proxy-Einstellungen für das XML-Paket in R fest?
Antworten:
Unter Mac OS habe ich hier die beste Lösung gefunden . Unter Berufung auf den Autor sind zwei einfache Schritte:
1) Öffnen Sie das Terminal und gehen Sie wie folgt vor:
export http_proxy=http://staff-proxy.ul.ie:8080 export HTTP_PROXY=http://staff-proxy.ul.ie:8080
2) Führen Sie R aus und gehen Sie wie folgt vor:
Sys.setenv(http_proxy="http://staff-proxy.ul.ie:8080")
Überprüfen Sie dies mit:
Sys.getenv("http_proxy")
Ich bin hinter dem Universitätsvertreter und diese Lösung hat perfekt funktioniert. Das Hauptproblem besteht darin, die Elemente in Terminal zu exportieren, bevor R ausgeführt wird, sowohl in Groß- als auch in Kleinbuchstaben.
quelle
Sys.setenv(http_proxy="")
, außerdem führe ich Schritt 1 im Terminal erneut aus und setze ihn auf leere Zeichenfolge""
. Überprüfen Sie es noch einmal und es kehrt zurück""
, kann aber immer noch nicht installiert werden. Ich kann zwar ein Paket im Terminal installieren, aber nicht mehr in RStudio.Das Problem liegt in Ihren Lockenoptionen - das
RCurl
Paket scheint nicht zu verwendeninternet2.dll
. Sie müssen den Port separat angeben und müssen wahrscheinlich die Anmeldedaten Ihres Benutzers als Netzwerkanmeldeinformationen angeben, z.opts <- list( proxy = "999.999.999.999", proxyusername = "mydomain\\myusername", proxypassword = "mypassword", proxyport = 8080 ) getURL("http://stackoverflow.com", .opts = opts)
Denken Sie daran, Backslashes in Ihrem Passwort zu vermeiden. Möglicherweise müssen Sie die URL auch in einen Aufruf von einschließen
curlEscape
.quelle
curlSetOpt(.opts=opts)
sind, werden diese auch für andere Verbindungen verwendet, z. B. für Verbindungen aus demXML
Paket, z. B.:htmlTreeParse()
oder wie erzwinge ich die Verwendung des Proxys? Vielen Dank!Für RStudio müssen Sie nur Folgendes tun:
Öffnen Sie zunächst RStudio wie immer und wählen Sie aus dem oberen Menü:
Tools - Globale Optionen - Pakete
Deaktivieren Sie die Option: Internet Explorer-Bibliothek / Proxy für HTTP verwenden
Und dann das Rstudio schließen, außerdem müssen Sie:
Suchen Sie die Datei (.Renviron) auf Ihrem Computer. Höchstwahrscheinlich finden Sie sie hier: C: \ Benutzer \ Ihr Benutzername \ Dokumente. Beachten Sie, dass Sie es erstellen können, wenn es nicht vorhanden ist, indem Sie diesen Befehl in RStudio schreiben:
file.edit('~/.Renviron')
Fügen Sie diese beiden Zeilen zu den Initialen der Datei hinzu:
options(internet.info = 0) http_proxy="http://user_id:password@your_proxy:your_port"
Und das ist es..??!!!
quelle
Ich hatte das gleiche Problem in meinem Büro und habe es gelöst, indem ich den Proxy am Ziel der R-Verknüpfung hinzugefügt habe. Klicken Sie auf die rechte Schaltfläche des R-Symbols, klicken Sie auf Einstellungen und fügen Sie im Zielfeld hinzu
"C:\Program Files\R\your_R_version\bin\Rgui.exe" http_proxy=http://user_id:passwod@your_proxy:your_port/
Stellen Sie sicher, dass Sie das Verzeichnis ablegen, in dem Sie das R-Programm installiert haben. Das ist für mich in Ordnung. Ich hoffe das hilft.
quelle
Dieser Beitrag bezieht sich auf R-Proxy-Probleme unter * nix. Sie sollten wissen, dass R über viele Bibliotheken / Methoden verfügt, um Daten über das Internet abzurufen.
Für 'curl', 'libcurl', 'wget' usw. gehen Sie einfach wie folgt vor:
Öffnen Sie ein Terminal. Geben Sie den folgenden Befehl ein:
Geben Sie die folgenden Zeilen ein:
http_proxy='http://username:[email protected]:port/' https_proxy='https://username:[email protected]:port/'
Ersetzen Sie
username
,password
,abc.com
,xyz.com
undport
mit diesen spezifischen Einstellungen zu Ihrem Netzwerk.Beenden Sie R und starten Sie erneut.
Dies sollte Ihr Problem mit den Methoden 'libcurl' und 'curl' lösen. Ich habe es jedoch nicht mit 'httr' versucht. Eine Möglichkeit, dies mit 'httr' nur für diese Sitzung zu tun, ist wie folgt:
library(httr) set_config(use_proxy(url="abc.com",port=8080, username="username", password="password"))
Sie müssen die für Ihre N / W spezifischen Einstellungen in relevanten Feldern ersetzen.
quelle
Unter Windows 7 habe ich dieses Problem gelöst, indem ich in meine Umgebungseinstellungen gegangen bin ( versuchen Sie diesen Link, um zu erfahren, wie ) und Benutzervariablen
http_proxy
sowiehttps_proxy
meine Proxy-Details hinzugefügt habe.quelle
Wenn Sie R über ein Desktopsymbol starten, können Sie der Zielzeile das
--internet
Flag hinzufügen (Rechtsklick -> Eigenschaften), z"C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
quelle
Inspiriert von allen Antworten im Internet habe ich endlich die Lösung gefunden, um den Proxy für R und Rstudio richtig zu konfigurieren.
Es sind mehrere Schritte zu befolgen, vielleicht sind einige der Schritte nutzlos, aber die Kombination funktioniert!
Fügen Sie Umgebungsvariablen
http_proxy
undhttps_proxy
Proxy-Details hinzu.Wenn Sie R über ein Desktopsymbol starten, können Sie das
--internet
Flag zur Zielzeile hinzufügen (Rechtsklick -> Eigenschaften).z.B
"C:\Program Files\R\R-2.8.1\bin\Rgui.exe" --internet2
Für RStudio müssen Sie nur Folgendes tun:
Öffnen Sie zunächst RStudio wie immer und wählen Sie aus dem oberen Menü:
Tools-Global Options-Pakete
Deaktivieren Sie die Option: Internet Explorer-Bibliothek / Proxy für HTTP verwenden
Suchen Sie die Datei (
.Renviron
) auf Ihrem Computer. Wahrscheinlich finden Sie sie hier :C:\Users\your user name\Documents
.Beachten Sie Folgendes: Wenn es nicht vorhanden ist, können Sie es erstellen, indem Sie diesen Befehl in R schreiben:
file.edit('~/.Renviron')
Fügen Sie dann diese sechs Zeilen zu den Initialen der Datei hinzu:
options(internet.info = 0) http_proxy = https:// user_id:password@your_proxy:your_port http_proxy_user = user_id:password https_proxy = https:// user_id:password0@your_proxy:your_port https_proxy_user = user_id:password ftp_proxy = user_id:password@your_proxy:your_port
Starten Sie R neu. Geben Sie die folgenden Befehle in R ein, um sicherzustellen, dass die obige Konfiguration ordnungsgemäß funktioniert:
Sys.getenv("http_proxy") Sys.getenv("http_proxy_user") Sys.getenv("https_proxy") Sys.getenv("https_proxy_user") Sys.getenv("ftp_proxy")
Jetzt können Sie die Pakete mit dem folgenden Befehl installieren:
install.packages("mlr",method="libcurl")
Es ist wichtig hinzuzufügen
method="libcurl"
, sonst funktioniert es nicht.quelle
Der einfachste Weg, um alles in RStudio zum Laufen zu bringen
Windows 10
:Öffnen Sie den Internet Explorer und wählen Sie
Internet Options
:Öffnen Sie den Editor für Umgebungsvariablen:
Fügen Sie eine Variable HTTP_PROXY in der folgenden Form hinzu:
Beispiel:
HTTP_PROXY=http://John:JohnPassword@localhost:8080/
RStudio sollte funktionieren:
quelle
Ich habe all dies und auch die Lösungen mit netsh, winhttp usw. ausprobiert. Die Antwort von Geek On Acid hat mir geholfen, Pakete vom Server herunterzuladen, aber keine dieser Lösungen hat für die Verwendung des Pakets funktioniert, das ich ausführen wollte (twitteR-Paket).
Die beste Lösung ist die Verwendung einer Software, mit der Sie den systemweiten Proxy konfigurieren können.
FreeCap (kostenlos) und Proxifier (Testversion) haben in meiner Firma perfekt für mich funktioniert.
Beachten Sie, dass Sie die Proxy-Einstellungen aus Ihrem Browser und allen anderen Apps entfernen müssen, die Sie für die Verwendung von Proxy konfiguriert haben, da diese Tools einen systemweiten Proxy für den gesamten Netzwerkverkehr von Ihrem Computer bereitstellen.
quelle
Meine Lösung unter Windows 7 (32bit). R Version 3.0.2
Sys.setenv(http_proxy="http://proxy.*_add_your_proxy_here_*:8080") setInternt2 updateR(2)
quelle