GET永远不会用Umlautü完成网址

时间:2015-12-15 10:02:04

标签: r web-scraping httr

GET未能抓住这个网站......为什么?

require(httr)
GET("http://www.atelco.de/1546/Bügeln.search") # Never finishes
GET(URLencode("http://www.atelco.de/1546/Bügeln.search")) # works fine

我尝试过在其网址中包含ü的其他网站:

GET("http://www.bosch-home.com/de/produkte/bügeln.html")

对我来说它接缝就像一个bug。但我不知道它是什么。我在这里错过了什么吗?

我的会话信息是:

R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.1 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] httr_1.0.0

loaded via a namespace (and not attached):
[1] R6_2.1.1      magrittr_1.5  tools_3.2.2   curl_0.9.4    stringi_1.0-1 stringr_1.0.0 XML_3.98-1.3 

1 个答案:

答案 0 :(得分:1)

您可以通过使用curl命令行实用程序测试相同的URL来轻松排除R:

curl -Lv http://www.atelco.de/1546/Bügeln.search

这看起来像服务器端配置问题。他们正在运行一些自定义Tomcat / Java Web应用程序,该应用程序将重定向到同一个URL:

* Connected to www.atelco.de (81.7.220.137) port 80 (#0)
> GET /1546/Bügeln.search HTTP/1.1
> Host: www.atelco.de
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
< Server: Apache-Coyote/1.1
< Set-Cookie: JSESSIONID=46E977E738A6DBC8BD0EB8084912163F.www1; Domain=.atelco.de; Path=/
< Location: http://www.atelco.de/1546/Bügeln.search
< Content-Length: 0
< Date: Wed, 16 Dec 2015 12:17:43 GMT

正如您自己发现的那样,您可以通过转义URL解决问题,但现在不需要这样做。