1

以下在代理后面的局域网中提供错误,但在局域网/代理之外正常工作。请让我知道如何纠正它

我使用代码来检测代理设置,它给了

使用 Java 检测 Windows/IE 代理设置

我得到:代理主机名:DIRECT No Proxy 这是否意味着我不在代理服务器后面?

我正在尝试使用 java rome-fetcher 获取 rss 提要进行处理。当我可以直接访问互联网时,一切正常。

但是,我需要能够在代理服务器后面运行我的应用程序。

下面在局域网中提供错误,但在局域网外正常工作线程“主”java.net.ConnectException中的异常:连接超时:在java.net.PlainSocketImpl的java.net.PlainSocketImpl.socketConnect(Native Method)连接。 doConnect(未知来源)

import java.util.Properties;
import java.net.*;
import java.io.*;

import java.io.FileWriter;
import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import java.util.List;

import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.SyndFeedOutput;
import com.sun.syndication.io.XmlReader;


public class RomeLibraryExample {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {

    URL url = new URL("http://rss.cnn.com/rss/cnn_topstories.rss");

   //System.setProperty("http.proxyHost", "DIRECT");
   // System.setProperty("http.proxyPort", "8080");


    HttpURLConnection httpcon = (HttpURLConnection)url.openConnection(Proxy.NO_PROXY);
    // Reading the feed



    SyndFeedInput input = new SyndFeedInput();
    SyndFeed feed = input.build(new XmlReader(httpcon));

    List<SyndEntry> entries = feed.getEntries();
    Iterator<SyndEntry> itEntries = entries.iterator();

    while (itEntries.hasNext()) {
        SyndEntry entry = itEntries.next();
        System.out.println("Title: " + entry.getTitle());
        System.out.println("Link: " + entry.getLink());
        System.out.println("Author: " + entry.getAuthor());
        System.out.println("Publish Date: " + entry.getPublishedDate());
        System.out.println("Description: " + entry.getDescription().getValue());
        System.out.println();
    }


}

}

4

0 回答 0