相关疑难解决方法(0)

如何让Java尊重DNS缓存超时?

我们使用GSLB进行地理分布和负载平衡.为每项服务分配一个固定的域名.通过一些DNS魔术,域名被解析为最接近服务器且负载最小的IP.为了使负载平衡起作用,应用程序服务器需要遵守DNS响应中的TTL,并在缓存超时时再次解析域名.但是,我无法想出用Java做到这一点的方法.

该应用程序使用Java 5,在Linux(Centos 5)上运行.

java dns gslb

90
推荐指数
5
解决办法
9万
查看次数

如何解决java.net.UnknownHostException

我已在清单文件中获得互联网许可。我的移动网络连接也正在工作。

/**
 * Created by Yogesh on 5/07/2016.
 */
public class All_Item_Fragment extends android.support.v4.app.ListFragment {
    // Declare Variables
    JSONArray jsonarray = null;
    ListView list;
    ListViewAdapter adapter;
    ArrayList<HashMap<String, String>> itemlist;
    static String NAME = "name";
    static String DESCRIPTION = "Description";
    static String PRICE = "price";
    static String IMAGE = "image_path";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.all_item_layout, container, false);
        itemlist = new ArrayList<HashMap<String, String>>();
        new ReadJSON().execute();
        list = (ListView) view.findViewById(android.R.id.list);

        return view;
    }

    private …
Run Code Online (Sandbox Code Playgroud)

android unknown-host

5
推荐指数
2
解决办法
2万
查看次数

改造 2 错误:java.net.SocketTimeoutException:10000 毫秒后无法连接到 /192.168.86.1(端口 8080)

我正在尝试使用 Retrofit 2 使我的应用程序连接到本地 Web 服务,但我总是收到此错误。我确定 Web 服务正在响应,因为我在 firefox 中使用了一个工具来发出 @GET 请求并且返回正常,返回正确的 JSON。

在android中它甚至没有连接。

这是我的主要活动:

public class MainActivity extends AppCompatActivity {

    private String API_BASE_URL="http://192.168.1.32:8080/economarket-restService/resources/androidTest/";           

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        OkHttpClient.Builder httpClient = new OkHttpClient.Builder();            

        Retrofit.Builder builder = new Retrofit.Builder()
                .baseUrl(API_BASE_URL)
                .addConverterFactory(GsonConverterFactory.create());

        Retrofit retrofit = builder.client(
                httpClient.build()
        ).build();

        ContatoService contato = retrofit.create(ContatoService.class); 

        Call<Contato> repos = contato.listRespos(); //EconomarketService                 

        repos.enqueue(new Callback<Contato>() {
            @Override
            public void onResponse(Call<Contato> call, Response<Contato> response) {
                Contato contato = response.body();
                Toast.makeText(getBaseContext(), "Return" + contato.getName(), Toast.LENGTH_LONG).show();
                Log.d("Retorno",response.toString()); …
Run Code Online (Sandbox Code Playgroud)

android timeoutexception retrofit2

5
推荐指数
1
解决办法
1万
查看次数

NetworkSecurityConfig:未使用平台默认值指定网络安全配置

我正在尝试连接到这些地方之一并获取JSON数据:-

https://content.guardianapis.com/search?q=debate&tag=politics/politics&from-date=2014-01-01&api-key=test
https://content.guardianapis.com/search?q=debates&api-key=test
https://content.guardianapis.com/search?api-key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我可以通过浏览器访问所有这三个,但是当我尝试通过Android应用访问它们时,出现以下错误:

NetworkSecurityConfig: No Network Security Config specified, using platform default
Error response code: 400
Run Code Online (Sandbox Code Playgroud)

我已将此添加到manifest.xml:-

<uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

我还将此添加到manifest.xml:

android:networkSecurityConfig="@xml/network_security_config"
Run Code Online (Sandbox Code Playgroud)

并创建了res / xml / network_security_config.xml,其中包含:-

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">content.guardianapis.com</domain>>
    </domain-config>
Run Code Online (Sandbox Code Playgroud)

将错误更改为:

D/NetworkSecurityConfig: Using Network Security Config from resource network_security_config debugBuild: true
Error response code: 400
Run Code Online (Sandbox Code Playgroud)

我知道它不见了:

<trust-anchors>
    <certificates src="@raw/my_ca"/>
</trust-anchors>
Run Code Online (Sandbox Code Playgroud)

但我不知道证书在哪里或在什么地方,是否需要它。

不太确定发生了什么,将不胜感激。

另外:-我可以很好地连接并从此URL获取JSON:-

https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&eventtype=earthquake&orderby=time&minmag=6&limit=10
Run Code Online (Sandbox Code Playgroud)

我所得到的是:

No Network Security Config specified, using platform default
Run Code Online (Sandbox Code Playgroud)

购买不是错误400,而是获得200。因此,这让我觉得有些奇怪的事情正在发生,但不确定在哪里。

java networking android asp.net-web-api

5
推荐指数
2
解决办法
1万
查看次数