0

簡単な説明みんな:

私はxmlファイルのコンテンツを保持するURLを持っています。このファイルを解析して、以下のコードを使用します。

private String GetFileUrl() {
    return "https://dl-web.dropbox.com/get/My%20Projects/Xml%20Files/Vk%20Iu%20Quilling/KeyList.xml?w=AAD6Cf_YdXRg5tyY4cquyiXBZ8XuQUsIbsMGVoIfkgPcpg";
}

private NodeList SetUpXmlParserUrl() {
    try {
        URL xmlFile = new URL(fileUrl);
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        InputStream inputStream = xmlFile.openStream();
        Document doc = dBuilder.parse(inputStream);

        //Get Node need to be parse.
        NodeList productNodeList = doc.getElementsByTagName("Item");
        return productNodeList;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

このコードを実行すると、次のエラーが発生します。

java.io.IOException: Server returned HTTP response code: 403 for URL: https://dl-web.dropbox.com/get/My%20Projects/Xml%20Files/Vk%20Iu%20Quilling/KeyList.xml?w=AAD6Cf_YdXRg5tyY4cquyiXBZ8XuQUsIbsMGVoIfkgPcpg
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)

誰でも助けてください..

4

3 に答える 3

0

ファイルにアクセスするにはログインする必要があると思います。ブラウザでログインしましたが、アプリケーションにはログインする権限がありません。

HTTP 403 は、URL が禁止されていることを意味します。

于 2013-05-30T12:53:16.927 に答える
0

通常、次の例のように、ドロップボックス API を使用する必要があります。

public class DropboxTest {

private static final String APP_KEY = "APP KEY";
private static final String APP_SECRET = "SECRET KEY";
private static final AccessType ACCESS_TYPE = AccessType.APP_FOLDER;
private static DropboxAPI<WebAuthSession> mDBApi;

public static void main(String[] args) throws Exception {
    AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
    WebAuthSession session = new WebAuthSession(appKeys, ACCESS_TYPE);
    WebAuthInfo authInfo = session.getAuthInfo();

    RequestTokenPair pair = authInfo.requestTokenPair;
    String url = authInfo.url;

    Desktop.getDesktop().browse(new URL(url).toURI());
    JOptionPane.showMessageDialog(null, "Press ok to continue once you have authenticated.");
    session.retrieveWebAccessToken(pair);

    AccessTokenPair tokens = session.getAccessTokenPair();
    System.out.println("Use this token pair in future so you don't have to re-authenticate each time:");
    System.out.println("Key token: " + tokens.key);
    System.out.println("Secret token: " + tokens.secret);

    mDBApi = new DropboxAPI<WebAuthSession>(session);
    System.out.println();
    System.out.print("Uploading file...");
    String fileContents = "Hello World!";
    ByteArrayInputStream inputStream = new ByteArrayInputStream(fileContents.getBytes());
    Entry newEntry = mDBApi.putFile("/testing.txt", inputStream, fileContents.length(), null, null);
    System.out.println("Done. \nRevision of file: " + newEntry.rev);

}

}

于 2013-05-30T12:54:30.833 に答える
0

あなたが指定した URL は、Java アクセスでは許可されていません。接続を確認し、プロキシ ホスト/ポートを Java 接続に設定します。

または、HttpRequest の応答として読み取ることもできます。これも実行可能です。

于 2013-05-30T12:54:33.433 に答える