2016-03-16 3 views
0

Каков наилучший способ получить всю информацию, отправленную веб-сайтом после отправки запроса GET. Моя основная проблема заключается в том, что я не могу войти в учетную запись Microsoft с помощью кода. Я написал код для получения всех параметров: -Как подключиться к Microsoft Azure Portal и получить код Auth?

import java.io.IOException; 
import java.io.OutputStreamWriter; 
import java.net.HttpURLConnection; 
import java.net.URL; 

public class Requests { 
public static void main(String[] args) throws IOException { 

    URL url = new URL("Microsoft Portal URL"); 
    HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
    httpCon.setInstanceFollowRedirects(false); 
    httpCon.setDoOutput(true); 
    httpCon.setRequestMethod("GET"); 
    OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream()); 
    System.out.println("Response Code " + httpCon.getResponseCode()); 
    System.out.println("Response Status " + httpCon.getResponseMessage()); 
    System.out.println("Header Fields " + httpCon.getHeaderFields()); 
    System.out.println("Sent URL " + httpCon.getURL()); 
    out.close(); 
} 
} 

Я получаю результат следующим образом:

Response Code 200 
Response Status OK 
Header Fields {null=[HTTP/1.1 200 OK], client-request-id=[9031e090-ea92-4581-b8d1-5b1c66076b50], 
Content-Length=[7796], Expires=[-1], 
Set-Cookie=[stsservicecookie=ests; path=/; secure; HttpOnly, 
x-ms-gateway-slice=productiona; path=/; secure; HttpOnly, 
flight-uxoptin=true; path=/; secure; HttpOnly], 
x-ms-gateway-service-instanceid=[ESTSFE_IN_217], 
X-Powered-By=[ASP.NET], Server=[Microsoft-IIS/8.5], 
Cache-Control=[no-cache, no-store], Pragma=[no-cache], 
X-Content-Type-Options=[nosniff], 
Strict-Transport-Security=[max-age=31536000; includeSubDomains], 
x-ms-request-id=[b822c62e-2aea-45b2-93c9-f1dc67576644], 
Date=[Wed, 16 Mar 2016 08:41:08 GMT], P3P=[CP="DSP CUR OTPi IND OTRi ONL FIN"], 
Content-Type=[text/html; charset=utf-8] 

мне нужно Перенаправление URI, который доступен только, если я вошел в на учетную запись Microsoft. Поэтому мне нужно войти на сайт, используя какой-то код.

I need this code using JAVA Code

---- >>>> вещь я хочу сделать, это: после отправки запроса Получить в этом формате: GET "https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id= {client_id} & redirect_uri = {redirect_uri}"

Он возвращает мне параметр с именем code (если я использую приложение Rest Client). Для получения этого кода пользователь должен быть зарегистрирован на Azure Portal.

Моя проблема в том, что я делаю все это с помощью java-кода, я не получаю этот код. Проблема в том, что я не могу войти в систему с использованием java-кода. Помогите мне в этом вопросе.

+0

Каков конечный результат, который вы ищете? Есть более простые способы аутентификации для Azure. –

+0

'Мне нужен URI Redirect, который доступен только в том случае, если я вошел в учетную запись Microsoft.' - Что это за URL-адрес перенаправления, о котором вы говорите? Можете ли вы описать свой сценарий более подробно? –

+0

Всякий раз, когда я отправляю запрос REST с помощью Rest Client, в Redirect я получаю параметр с именем To и Location, где я получу код. Мне нужен этот код перенаправления с использованием java-кода, который доступен только в том случае, если я вошел в систему. –

ответ

0

На лазури, есть три группы REST API, должна быть заверена, в том числе API, управления ресурсами, API-интерфейсов управления службой и другие specifical API, как для Azure Storage или Service Bus и т.д.

  1. Для использования API управления ресурсами, вам необходимо аутентифицировать запросы менеджера ресурсов Azure, см. Authenticating Azure Resource Manager requests. И есть несколько примеров в Java, на которые вы можете ссылаться на GitHub https://github.com/Azure/azure-sdk-for-java/tree/master/azure-mgmt-samples.

  2. Для использования API управления сервисом необходимо выполнить аутентификацию запросов на управление услугами, см. Authenticating Service Management Requests. Существует официальное blog показано, как начать работу с Java.

  3. Для использования некоторых конкретных API-интерфейсов вам необходимо создать токен Shared Access Signature для делегирования доступа. Например, Delegating Access with a Shared Access Signature для службы REST службы хранения Azure, вы можете узнать, как построить конструкцию Service SAS Examples.

Смежные вопросы