導航:首頁 > 網路設置 > ok網怎麼設置網路

ok網怎麼設置網路

發布時間:2024-10-05 22:53:06

Ⅰ okhttp請求網路怎麼設置請求超時

OkHttp 處理了很多網路疑難雜症:會從很多常用的連接問題中自動恢復。如果您的伺服器配置了多個IP地址,當第一個IP連接失敗的時候,OkHttp會自動嘗試下一個IP。OkHttp還處理了代理伺服器問題和SSL握手失敗問題。

OkHttp是一個相對成熟的解決方案,據說Android4.4的源碼中可以看到HttpURLConnection已經替換成OkHttp實現了。所以我們更有理由相信OkHttp的強大。

1、HTTP請求方法
同步GET請求
private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
Request request = new Request.Builder()
.url("http://publicobject.com/helloworld.txt")
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);
Headers responseHeaders = response.headers();
for (int i = 0; i < responseHeaders.size(); i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
System.out.println(response.body().string());
}

Response類的string()方法會把文檔的所有內容載入到內存,適用於小文檔,對應大於1M的文檔,應 使用流()的方式獲取。
response.body().byteStream()

非同步GET請求
private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
Request request = new Request.Builder()
.url("http://publicobject.com/helloworld.txt")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
e.printStackTrace();
}

@Override
public void onResponse(Response response) throws IOException {
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
Headers responseHeaders = response.headers();
for (int i = 0; i < responseHeaders.size(); i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}

System.out.println(response.body().string());
}
});
}

讀取響應會阻塞當前線程,所以發起請求是在主線程,回調的內容在非主線程中。

POST方式提交字元串
private static final MediaType MEDIA_TYPE_MARKDOWN
= MediaType.parse("text/x-markdown; charset=utf-8");

private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
String postBody = ""
+ "Releases\n"
+ "--------\n"
+ "\n"
+ " * _1.0_ May 6, 2013\n"
+ " * _1.1_ June 15, 2013\n"
+ " * _1.2_ August 11, 2013\n";

Request request = new Request.Builder()
.url("https://api.github.com/markdown/raw")
.post(RequestBody.create(MEDIA_TYPE_MARKDOWN, postBody))
.build();

Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);

System.out.println(response.body().string());
}

因為整個請求體都在內存中,應避免提交1M以上的文件。

POST方式提交流
private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
RequestBody requestBody = new RequestBody() {
@Override
public MediaType contentType() {
return MEDIA_TYPE_MARKDOWN;
}

@Override
public void writeTo(BufferedSink sink) throws IOException {
sink.writeUtf8("Numbers\n");
sink.writeUtf8("-------\n");
for (int i = 2; i <= 997; i++) {
sink.writeUtf8(String.format(" * %s = %s\n", i, factor(i)));
}
}

private String factor(int n) {
for (int i = 2; i < n; i++) {
int x = n / i;
if (x * i == n) return factor(x) + " × " + i;
}
return Integer.toString(n);
}
};

Request request = new Request.Builder()
.url("https://api.github.com/markdown/raw")
.post(requestBody)
.build();

Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);

System.out.println(response.body().string());
}

使用Okio框架以流的形式將內容寫入,這種方式不會出現內存溢出問題。
POST方式提交文件
public static final MediaType MEDIA_TYPE_MARKDOWN
= MediaType.parse("text/x-markdown; charset=utf-8");

private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
File file = new File("README.md");

Request request = new Request.Builder()
.url("https://api.github.com/markdown/raw")
.post(RequestBody.create(MEDIA_TYPE_MARKDOWN, file))
.build();

Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);

System.out.println(response.body().string());
}

POST方式提交表單
private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
RequestBody formBody = new FormEncodingBuilder()
.add("search", "Jurassic Park")
.build();
Request request = new Request.Builder()
.url("https://en.wikipedia.org/w/index.php")
.post(formBody)
.build();

Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);

System.out.println(response.body().string());
}

表單的每個Names-Values都進行了URL編碼。如果伺服器端介面未進行URL編碼,可定製個 FormBuilder。
文件上傳(兼容html文件上傳)
private static final String IMGUR_CLIENT_ID = "...";
private static final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");

private final OkHttpClient client = new OkHttpClient();

public void run() throws Exception {
// Use the imgur image upload API as documented at https://api.imgur.com/endpoints/image
RequestBody requestBody = new MultipartBuilder()
.type(MultipartBuilder.FORM)
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"title\""),
RequestBody.create(null, "Square Logo"))
.addPart(
Headers.of("Content-Disposition", "form-data; name=\"image\""),
RequestBody.create(MEDIA_TYPE_PNG, new File("website/static/logo-square.png")))
.build();

Request request = new Request.Builder()
.header("Authorization", "Client-ID " + IMGUR_CLIENT_ID)
.url("https://api.imgur.com/3/image")
.post(requestBody)
.build();

Response response = client.newCall(request).execute();
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}

網路連接顯示OK但是上不了網是怎麼回事啊

在網路連接菜單中,查找菜單「高級」點擊「可選網路組件」。根據提示重新安裝,試試。

Ⅲ 無限路由器連接設置好後,本地連接顯示ok,可是WAN口狀態IP地址全是0,無法上網,如何解決

首先檢查一下每個埠是否都插好了,不行的話,有可能的就把網線對調一下,再試試,能通信就出現在網線上,可以壓線沒壓好或者松動,中間斷了。一家家用路由器IP自動獲取就可以了,沒有必要自己去設置靜態IP,比較麻煩,IP不能設置為192.168.1.1,這個是你路由器下面連接的終端的網關來的,按你後面說問題很大可能是出現在網線上面。

閱讀全文

與ok網怎麼設置網路相關的資料

熱點內容
網路安全重點是什麼 瀏覽:963
網路直播怎麼拍照 瀏覽:889
人身財產網路安全論文 瀏覽:376
網路機頂盒乙太網連接 瀏覽:512
有網路無線監控能用嗎 瀏覽:622
網易雲的網路用語都有哪些 瀏覽:342
小米手機怎麼樣有網路信號 瀏覽:980
當前網路狀態無法連接 瀏覽:795
普陀網路營銷產品設計性價比 瀏覽:95
中國的無線網路是怎麼連接的 瀏覽:385
網路用詞二維碼什麼意思 瀏覽:87
ok網怎麼設置網路 瀏覽:437
如何診斷移動網路 瀏覽:568
外國移動網路環境 瀏覽:273
網路層功能由什麼實現 瀏覽:172
移動網路總是不穩定是什麼原因 瀏覽:704
破解無線網路字典 瀏覽:412
網路流量限制控制軟體 瀏覽:721
網路線和液晶電視怎麼連接 瀏覽:21
螢石1w的網路ip是多少 瀏覽:735

友情鏈接