Tag: http status code 403

从URL获取内容时出错403

我正在尝试自动化流程。 为此,我需要通过在1次运行中多次点击URL来获取XML,然后解析它。 对于程序的1次运行,URL可以被击中4到25次之间的任何地方。 这一切似乎都很好,直到返回403错误响应。 有趣的是,403每隔5或6次就会出现这个URL。 我正在使用JDOM来解析XML响应。 我试过这些代码: Document doc = builder.build(new InputSource(url.openStream())); 和 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestProperty(“User-Agent”, “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 (.NET CLR 3.5.30729)”); Document doc = builder.build(conn.getInputStream()); 第二个我得到了例外: org.jdom.input.JDOMParseException: Error on line 1: White spaces are required between publicId and systemId. 有人可以帮我摆脱403.请注意,如果需要在此处进行更改,我无法控制来源 此外,我不确定此链接是否有用。 谢谢。 [更新1]:这是以某种方式工作,而不必sleep : try{ […]

Java URL – 谷歌翻译请求返回403错误?

我正在创建一个Java控制台应用程序,需要向Google Translate发送HTTP请求以从上述站点获取翻译。 我的问题是,当我尝试使用openStream()尝试从有效的URL读取时,我收到403错误。 使用Translator t = new Translator();创建此Translator类的实例Translator t = new Translator(); 并调用t.translate(“en”, “ja”, “cheese”); 例如,应该返回程序在http://translate.google.com/#en|ja|che页面上找到的翻译,但它会捕获IOException并返回: http://translate.google.com/#en|ja|cheese Server returned HTTP response code: 403 for URL: http://translate.google.com/#en|ja|cheese 创建有效Google翻译url的任何其他参数也会出现类似的错误。 403错误显然意味着我被拒绝许可。 这就是我想知道的。 为什么我无法访问此页面,以及我必须执行哪些操作才能访问此页面? 我在我的网络浏览器中访问了该网站,并手动输入了我的程序尝试访问的地址,但它有效; 我不确定为什么我的程序无法访问该页面? 将地址键入或复制/粘贴到我的FireFox导航栏中可以正常工作; 看,如果这是正确的,那么该网站可能希望我通过另一个页面上的链接访问该页面? 我怎么可能这样做 ,如果这是我必须做的? 这是代码,因为我认为它可能会有所帮助..当我尝试从translationURL.openStream()返回的InputStream中的InputStreamReader创建BufferedReader时,似乎抛出exception: import java.io.*; import java.net.*; public class Translator { private final String googleTranslate = “http://translate.google.com/#”; public String translate( String […]

使用jsoup获取谷歌搜索结果时出现403错误

我正在尝试使用以下代码获取Google搜索结果: Document doc = con.connect(“http://www.google.com/search?q=lakshman”).timeout(5000).get(); 但是我得到了这个例外: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403,URL=http://www.google.com/search?q=lakshman 403错误意味着服务器禁止访问,但我可以在Web浏览器中加载此URL。 为什么Jsoup会收到403错误?

ImageIO.read()返回403错误

我有以下代码: public BufferedImage urlToImage(String imageUrl) throws MalformedURLException, IOException { URL url = new URL(imageUrl); BufferedImage image = ImageIO.read(url); return image; } 那应该是从给定的URL返回一个图像。 我测试了这两个随机选择的URL: http://sofzh.miximages.com/java/logo4w.png http://sofzh.miximages.com/java/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg 第一个工作正常,但第二个给出403错误: Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://sofzh.miximages.com/java/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436) at java.net.URL.openStream(URL.java:1010) at javax.imageio.ImageIO.read(ImageIO.java:1367) 可能是错误的原因是什么? 谢谢。

AWS S3 Java:d​​oesObjectExist导致403:FORBIDDEN

我在使用AWS SDK与我的Java程序进行交互时遇到了麻烦。 这是我用来创建S3客户端的代码: public S3StorageManager(S3Config config) throws StorageException { BasicAWSCredentials credentials = new BasicAWSCredentials(myAccessKey(), mySecretKey()); AWSStaticCredentialsProvider provider = new AWSStaticCredentialsProvider(credentials); this.s3Client = AmazonS3ClientBuilder .standard() .withCredentials(provider) .withRegion(myRegion) .build(); 当我尝试下载文件时,在开始下载之前,我检查文件是否存在: s3Client.doesObjectExists(bucketName, objectName); 这是我得到的地方403:FORBIDDEN。 奇怪的是,只有当我在同一会话中执行上传之前尝试执行对象存在检查时才会引发此问题。 换句话说,在初始化s3Client之后: – 如果我首先尝试检查对象是否存在,则会引发FORBIDDEN问题; – 如果我第一次执行文件上传,它工作正常,之后任何对象存在检查也可以正常工作; 这是我的堆栈跟踪: com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Reques t ID: A23BB805491E411F) at […]

java.io.IOException:服务器返回HTTP响应代码:403表示URL

我想从url下载mp3文件:“http://upload13.music.qzone.soso.com/30671794.mp3”,我总是得到java.io.IOException:服务器返回HTTP响应代码:403用于URL。 但是使用浏览器打开url时没关系。 以下是我的代码的一部分: BufferedInputStream bis = null; BufferedOutputStream bos = null; try { URL url = new URL(link); URLConnection urlConn = url.openConnection(); urlConn.addRequestProperty(“User-Agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”); String contentType = urlConn.getContentType(); System.out.println(“contentType:” + contentType); InputStream is = urlConn.getInputStream(); bis = new BufferedInputStream(is, 4 * 1024); bos = new BufferedOutputStream(new FileOutputStream( fileName.toString()));​ 有人可以帮帮我吗? […]