Hi,
You can use the new version of Apache's HTTP library, as follows, hope
it'll help you.
public class RestTest {
/**
* Create and initialize the http client.
*
* @return an HttpClient object
*/
HttpClient getClient(host, port, username, password) {
HttpClient httpClient = new HttpClient();
httpClient.getParams().setAuthenticationPreemptive(true);
httpClient.getState().setCredentials(
new AuthScope(host, port, AuthScope.ANY_REALM),
new UsernamePasswordCredentials(username, password)
);
return httpClient;
}
public static void main(String[] args) throws IOException {
// Get request example
HttpClient httpClient = getClient(yourHost, yourPort, yourUsername,
yourPassword);
GetMethod getMethod = new GetMethod(getURL);
getMethod.addRequestHeader("Accept", "application/json");
getMethod.setDoAuthentication( true );
String getURL = "your get url";
try {
int status = httpClient.executeMethod(getMethod);
System.out.println(getMethod.getResponseBodyAsString());
} catch (Exception e) {
//...
} finally {
// release any connection resources used by the method
getMethod.releaseConnection();
}
// Put request example
String putURL = "your put url";
PutMethod putMethod = new PutMethod(putURL);
putMethod.addRequestHeader("Accept", "application/json");
putMethod.setDoAuthentication( true );
try {
int status = httpClient.executeMethod(putMethod);
System.out.println(putMethod.getResponseBodyAsString());
} catch (Exception e) {
// ...
} finally {
// release any connection resources used by the method
putMethod.releaseConnection();
}
}
}
Best regards,
Mohamed.
On Sun, Apr 17, 2016 at 9:24 PM, Mohamed Boussaa <[email protected]>
wrote:
> Hi,
>
> You can use the new version of Apache's HTTP library, as follows, hope
> it'll help you.
>
> public class RestTest {
> /**
> * Create and initialize the http client.
> *
> * @return an HttpClient object
> */
> HttpClient getClient(host, port, username, password) {
> HttpClient httpClient = new HttpClient();
> httpClient.getParams().setAuthenticationPreemptive(true);
> httpClient.getState().setCredentials(
> new AuthScope(host, port, AuthScope.ANY_REALM),
> new UsernamePasswordCredentials(username, password)
> );
> return httpClient;
> }
>
> public static void main(String[] args) throws IOException {
> // Get request example
> HttpClient httpClient = getClient(yourHost, yourPort, yourUsername,
> yourPassword);
> GetMethod getMethod = new GetMethod(getURL);
> getMethod.addRequestHeader("Accept", "application/json");
> getMethod.setDoAuthentication( true );
> String getURL = "your get url";
> try {
> int status = httpClient.executeMethod(getMethod);
> System.out.println(getMethod.getResponseBodyAsString());
> } catch (Exception e) {
> //...
> } finally {
> // release any connection resources used by the method
> getMethod.releaseConnection();
> }
>
> // Put request example
> String putURL = "your put url";
> PutMethod putMethod = new PutMethod(putURL);
> putMethod.addRequestHeader("Accept", "application/json");
> putMethod.setDoAuthentication( true );
> try {
> int status = httpClient.executeMethod(putMethod);
> System.out.println(putMethod.getResponseBodyAsString());
> } catch (Exception e) {
> // ...
> } finally {
> // release any connection resources used by the method
> putMethod.releaseConnection();
> }
> }
> }
>
>
>
>
> Best regards,
> Mohamed.
>
> On Sun, Apr 17, 2016 at 7:25 PM, Tobi <[email protected]> wrote:
>
>> Hello,
>>
>> I was trying to write a program which would upload new pages on my wiki. I
>> was following these instructions
>> http://platform.xwiki.org/xwiki/bin/view/Features/XWikiRESTfulAPI , but
>> unfortunately most of the examples use old version of Apache's HTTP
>> library,
>> so they are not very useful for me.
>>
>> So I decided to try writing a program by following Apache's examples, but
>> when I was testing connectivity I realised that I can't even get access to
>> admin-only pages.
>>
>> Here's my code:
>>
>> import java.io.IOException;
>> import org.apache.http.auth.AuthScope;
>> import org.apache.http.auth.UsernamePasswordCredentials;
>> import org.apache.http.client.CredentialsProvider;
>> import org.apache.http.client.methods.CloseableHttpResponse;
>> import org.apache.http.client.methods.HttpGet;
>> import org.apache.http.impl.client.BasicCredentialsProvider;
>> import org.apache.http.impl.client.CloseableHttpClient;
>> import org.apache.http.impl.client.HttpClients;
>> import org.apache.http.util.EntityUtils;
>>
>> public class RestTest {
>>
>> public static void main(String[] args) throws IOException {
>> CredentialsProvider credsProvider = new
>> BasicCredentialsProvider();
>> credsProvider.setCredentials(
>> new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT,
>> AuthScope.ANY_REALM, AuthScope.ANY_SCHEME),
>> new UsernamePasswordCredentials("Tobi", "mypass"));
>> CloseableHttpClient httpclient = HttpClients.custom()
>> .setDefaultCredentialsProvider(credsProvider)
>> .build();
>> try {
>> HttpGet httpget = new
>> HttpGet("http://xwiki.aircr.ru/xwiki/bin/edit/Main/WebHome");
>>
>> System.out.println("Executing request " +
>> httpget.getRequestLine());
>> CloseableHttpResponse response = httpclient.execute(httpget);
>> try {
>>
>> System.out.println("----------------------------------------");
>> System.out.println(response.getStatusLine());
>> EntityUtils.consume(response.getEntity());
>> } finally {
>> response.close();
>> }
>> } finally {
>> httpclient.close();
>> }
>> }
>>
>> }
>>
>> It gives me:
>> Executing request GET http://xwiki.aircr.ru/xwiki/bin/edit/Main/WebHome
>> HTTP/1.1 <http://xwiki.aircr.ru/xwiki/bin/edit/Main/WebHomeHTTP/1.1>
>> ----------------------------------------
>> HTTP/1.1 401 Unauthorized
>>
>>
>> I would really appreciate any help! Also, it would be great if you show me
>> more examples of using PUT method for xWiki RESTful!
>>
>>
>>
>> --
>> View this message in context:
>> http://xwiki.475771.n2.nabble.com/xWiki-RESTful-HTTP-Connection-tp7599026.html
>> Sent from the XWiki- Users mailing list archive at Nabble.com.
>> _______________________________________________
>> users mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/users
>>
>
>
_______________________________________________
users mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/users