- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đã tạo lớp này trong Eclipse được thực thi như một chương trình độc lập và nó kết nối tất cả các URL http mà không gặp vấn đề gì (ví dụ:http://stackoverflow.com), nhưng khi tôi cố gắng kết nối với https (ví dụ: https://en.wikipedia.org/wiki/HTTPS) là không thể
lớp công khai TEST4 {
public static void main(String[] args) ném IOException {
System.setProperty("http.proxyHost", "147.67.217.33");
System.setProperty("http.proxyPort", "8022");
System.setProperty("https.proxyHost", "147.67.217.33");
System.setProperty("https.proxyPort", "8022");
Authenticator.setDefault(Xác thực mới() {
@Ghi đè
Xác thực mật khẩu được bảo vệ getPasswordAuthentication() {
trả lại Mật khẩu xác thực mới ("pecador", "9ddjk69t".toCharArray());
}
});
URL url=URL mới("https://en.wikipedia.org/wiki/HTTPS");
URLConnection uc = url.openConnection ();
Chuỗi được mã hóa = Chuỗi mới (base64Encode(Chuỗi mới("pecador:9ddjk69t")));
uc.setRequestProperty("Ủy quyền proxy", "Cơ bản " + được mã hóa);
uc.connect();
BufferedReader in = new BufferedReader(InputStreamReader mới(uc.getInputStream()));
Chuỗi đầu vàoLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
public static String userNamePasswordBase64(Tên người dùng chuỗi, mật khẩu chuỗi) {
return "Cơ bản " + base64Encode(tên người dùng + ://+ mật khẩu);
}
char tĩnh cuối cùng riêng tư base64Array[] = { 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'Tôi', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S ',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's ',
't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5 ',
'6', '7', '8', '9', '+', '/' };
Chuỗi tĩnh riêng base64Encode(Chuỗi chuỗi) {
Chuỗi được mã hóaString = "";
byte byte[] = string.getBytes();
int i = 0;
int pad = 0;
trong khi (i < byte.length) {
byte b1 = byte[i++];
byte b2;
byte b3;
if (i >= bytes.length) {
b2 = 0;
b3 = 0;
đệm = 2;
} khác {
b2 = byte[i++];
if (i >= bytes.length) {
b3 = 0;
đệm = 1;
} else
b3 = byte[i++];
}
byte c1 = (byte) (b1 >> 2);
byte c2 = (byte) (((b1 & 0x3) << 4) | (b2 >> 4));
byte c3 = (byte) (((b2 & 0xf) << 2) | (b3 >> 6));
byte c4 = (byte)(b3 & 0x3f);
được mã hóaString += base64Array[c1];
được mã hóaString += base64Array[c2];
công tắc (pad) {
trường hợp 0:
được mã hóaString += base64Array[c3];
được mã hóaString += base64Array[c4];
phá vỡ;
trường hợp 1:
được mã hóaString += base64Array[c3];
được mã hóaString += "=";
phá vỡ;
trường hợp 2:
được mã hóaString += "==";
phá vỡ;
}
}
trả về chuỗi được mã hóa;
}
}
câu trả lời hay nhất
Bạn cần thiết lập proxy https. Trong ví dụ của bạn, chỉ có proxy http được đặt. Bạn cũng có thể sử dụng trình xác thực để đặt tên người dùng và mật khẩu. Hy vọng phương pháp thích hợp sẽ được chọn tự động.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
nhập java.net.Authenticator;
nhập java.net.PasswordAuthentication;
nhập java.net.URL;
nhập java.net.URLConnection;
lớp công khai Chơi {
public static void main(String[] args) ném IOException {
// Cách 1 cho Proxy
System.setProperty("http.proxyHost", "147.67.217.33");
System.setProperty("http.proxyPort", "8022");
System.setProperty("https.proxyHost", "147.67.217.33");
System.setProperty("https.proxyPort", "8022");
URL url=URL mới("https://en.wikipedia.org/wiki/HTTPS");
Kết nối URL uc = url.openConnection();
Authenticator.setDefault(Xác thực mới() {
@Ghi đè
Xác thực mật khẩu được bảo vệ getPasswordAuthentication() {
trả lại Mật khẩu xác thực mới ("pecador", "9ddjk69t".toCharArray());
}
});
uc.connect();
BufferedReader in = new BufferedReader(InputStreamReader mới(uc.getInputStream()));
Chuỗi đầu vàoLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
[更新]
Vì điều này vẫn không giải quyết được vấn đề nên tôi nghĩ điều đang xảy ra là proxy muốn đàm phán bằng văn bản thuần túy, ngay cả khi yêu cầu tên người dùng và mật khẩu để ủy quyền các trang web https. Tại một thời điểm nào đó, khách hàng sẽ mong đợi dữ liệu được mã hóa qua SSL, trong khi yêu cầu proxy để xác thực BASIC sẽ vẫn ở dạng văn bản thuần túy. Tôi tìm thấy một bài viết cũ đã cố gắng giải quyết vấn đề này:đường hầm https .
Xem thêm mục blog nàyBởi vì nó có vẻ là một chủ đề thú vị đề cập đến cùng một bài viết.
Có rất nhiều Tài liệu để đọc và học, và bây giờ có quá nhiều tài liệu để tôi có thể nắm vững và lặp lại. Vì thế xin thứ lỗi cho tôi nếu tôi chỉ yêu cầu bạn trích dẫn hai bài đọc đó. Như mọi khi, tôi muốn đọc về trải nghiệm của bạn và chúc bạn thành công.
[Điều ước vĩnh cửu của tôi]
Proxy và xác thực là nền tảng của môi trường doanh nghiệp, tôi chỉ không hiểu tại sao chúng tôi không xử lý nó đúng cách bằng API đơn giản và dễ sử dụng.
Về java.net.ConnectException: Kết nối bị từ chối: kết nối với ngoại lệ kết nối HTTPS, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/31007588/
Vấn đề rất đơn giản: Tôi đang tìm một cách hay để sử dụng CompleteableFuture#đặc biệt cùng với CompletableFuture#supplyAsync. Điều này không hiệu quả: priva.
Đối với các dịch vụ web, chúng tôi thường sử dụng maven-jaxb2-plugin để tạo java Beans và sử dụng mã hóa JAXB2 trong Spring. Tôi muốn biết cách xử lý (SOAP-
Câu hỏi này đã có câu trả lời: Chỉ mục mảng ngoài hành vi bị ràng buộc (10 câu trả lời) Đã đóng 8 năm trước. Tôi tò mò về mã C sau đây int main(){
Khi đối tượng MediaPlayer được khởi tạo ở đầu lớp với ngữ cảnh và tài nguyên, nó sẽ ném ngoại lệ NullPointer, nhưng khi nó được khai báo ở đầu lớp (vì vậy nó là null), thì nó được khởi tạo theo cách tương tự trên bên Tạo
Xin chào, tôi đang cố gắng kết nối chương trình java với API REST. Sử dụng cùng một phần mã, tôi nhận được ngoại lệ Java trong Java 6 và nó hoạt động tốt trong Java 8. Môi trường giống nhau: tin tưởng vào tác nhân người dùng unix của máy
Tôi đang cố gắng phân tích Twitter bằng Flume và Hive. Để nhận được các tweet từ Twitter, tôi đặt tất cả các tham số bắt buộc (consumerKey, ConsumerKey,
Tôi đang gặp một số vấn đề với ngoại lệ JavaFX. Dự án của tôi đang chạy trong Eclipse, nhưng bây giờ bạn tôi cũng đang cố gắng truy cập vào dự án. Chúng tôi đã chia sẻ và lưu trực tiếp vào thư mục dropbox. Nhưng đơn giản là anh ấy không thể làm cho nó thành công được. Anh ấy đang ở bàn điều khiển
Giả sử tôi đã xác minh id email bằng sự kiện Blur(), tôi đang thực hiện việc này: $('#email').blur(function(){ //make ajax call , kiểm tra xem có trùng lặp không
Tôi làm điều này để gọi các hàm không được quản lý từ mã C. pCallback là một con trỏ hàm và do đó là một đại biểu ở phía được quản lý. [DllImport("MyDLL.dll")] trạng thái công khai
Tại sao mã này đúng: try { } Catch(ArrayOutOfBoundsException e) {} Mã này sai: try { } Catch(IOException e) {} Mã này
Tôi gặp sự cố sau: Một tệp DLL có các hàm được xuất. Ví dụ về mã như sau: [Thư viện liên kết động] __declspec(dllexport) int openDevice(int,void**) [Application] dev.h: __de
Từ các chủ đề khác, tôi biết rằng chúng ta không nên ném ngoại lệ vào hàm hủy! Nhưng đối với ví dụ bên dưới, nó vẫn hoạt động. Điều này có nghĩa là chúng ta chỉ có thể ném ngoại lệ vào hàm hủy của một thể hiện? Chúng ta nên hiểu ví dụ mã này như thế nào!
Tại sao chúng ta cần ngoại lệ để tăng public static void main(String[
1. Cơ chế ngoại lệ của Java Lớp Throwable là lớp cha cấp cao nhất của các loại ngoại lệ Java. Chỉ khi một đối tượng là một thể hiện (trực tiếp hoặc gián tiếp) của lớp Throwable thì nó là một đối tượng ngoại lệ và có thể được cơ chế xử lý ngoại lệ nhận ra. . Trong JDK
Tôi mới làm quen với Python và tôi có câu hỏi về việc triển khai một phương pháp ngoại lệ nhất định. Đây là mã (viết tắt): class OurException(Exception): """Ngoại lệ do người dùng xác định"
Tôi đã tạo lược đồ sau để thể hiện mối liên kết giữa một người dùng và một tập hợp các chủ đề được sắp xếp theo thông báo cuối cùng của họ (luồng nào người dùng đã đọc và chuỗi nào chưa): CREATE TABLE table(user_id bigint, mes
Tôi đang viết một tập lệnh tự động hóa đơn giản bằng Python có thể đưa ra ngoại lệ ở nhiều nơi. Trong mỗi người trong số họ tôi muốn ghi lại một tin nhắn cụ thể và thoát khỏi chương trình. Để làm điều này, tôi nâng cao Sys sau khi bắt được ngoại lệ và xử lý nó (thực hiện các thao tác ghi nhật ký cụ thể, v.v.)
Bất cứ ai có thể giải thích tại sao điều này sẽ gây ra lỗi: let xs = [| "Mary"; "Mungo"; "Midge" |] Array.iter printfn xs Mặc dù đây không phải là trường hợp: Array.iter pr
Trên trang web sử dụng Play! của tôi, tôi có phần quản trị. Tất cả Bộ điều khiển dành cho quản trị viên đều có chú thích @With và @Check. Sau khi ngắt kết nối, mọi thứ hoạt động tốt. Sau khi kết nối, mỗi khi một trang được tải (bất kỳ trang nào, bất kể
Tôi cố gắng kết nối với bộ lưu trữ bảng Azure và thêm một đối tượng. Nó hoạt động tốt trên localhost, nhưng trên máy chủ tôi đang sử dụng, tôi gặp ngoại lệ sau với ngoại lệ bên trong của nó: Ngoại lệ của loại 'Microsoft.Wind
Tôi là một lập trình viên xuất sắc, rất giỏi!