Проверка URL ASP.NET

Как использовать AsyncTask с urlconnection, который требует вставки return

Вам нужно вернуть строку в вашем методе Update()

[117 ] Также нет необходимости использовать другой Thread в вашем Update() методе, потому что AsyncTask уже работает в фоновом режиме

SAMPLE CODE

 public String Update(final String urlString){

        String result="";

        try {
            URL url = new URL(urlString);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setDoOutput(true);
            connection.setDoInput(true);
            connection.setUseCaches(false);
            connection.connect();

            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
            writer.write("name=abc");
            writer.close();

            int responseCode = connection.getResponseCode();
            if(responseCode == HttpURLConnection.HTTP_OK){
                InputStream inputStream = connection.getInputStream();

                StringBuilder stringBuilder = new StringBuilder();
                String line;

                BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
                while ((line = br.readLine()) != null) {
                    stringBuilder .append(line);
                }
                result = stringBuilder .toString();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return result;
    }

    public class MyAsyncTask extends AsyncTask<String,String,String> {
        @Override
        protected void onPreExecute(){
            super.onPreExecute();
        }

        @Override
        protected String doInBackground(String...url) {
            return Update(url[0]);
        }
        @Override
        protected void onPostExecute(String result){
            Log.d("TAG", result);
        }
    }
10
задан Community 23 May 2017 в 11:48
поделиться

4 ответа

и вуаля это работает.

Но я сделал эту работу с IIS7 без проблем, но с IIS6 я получаю эту ошибку (Запрещенные символы в пути).

1
ответ дан 4 December 2019 в 04:53
поделиться

Попытайтесь прервать исключение в файле Global.asax. Реализуйте там (Global.asax.cs) этот метод:

protected void Application_Error(Object sender, EventArgs e)
{
    Exception ex = Server.GetLastError();
    //do whatever you want with that exception
    //or get the url from the context, reformat and redirect
}
1
ответ дан 4 December 2019 в 04:53
поделиться

У меня есть подобная программа, которая прерывает все, и попытка ее с каналом дает мне ту же ошибку. Я предполагаю, что это имеет отношение к IIS, делающему проверки тракта (mappath), прежде чем это будет знать, кто должен обработать запрос. Ваш обработчик пускает корень (значение всех вызовов), но я принимаю способ, которым делает IIS это универсально.

Таким образом, я принимаю любого или большую часть соединения каналом символов, которые Вы наклоняете, использование в Вашей файловой системе перестанет работать по запросу IIS (ДОБИРАЮТСЯ/POST).

Возможно, кто-то знает, как отключить проверку IIS. Согласно ошибке, это кажется, происходит даже, прежде чем Ваш web.config читается, поскольку это пытается определить местоположение правильной конфигурации?,

Возможно, возможно использовать Вашу собственную ошибочную страницу в качестве перенаправления назад к Вашему обработчику?

0
ответ дан 4 December 2019 в 04:53
поделиться

IIS по умолчанию не позволяет определенные символы в URL и считает их недопустимыми. Это - то, где Вы, которых проблема возникает из - она даже не называет обработчик, Вы имеете. Насколько я знаю, что нет никакого места, которое можно настроить, какие символы приняты через UI, за исключением Windows Registry. Я не знаю, почему Вы хотите использовать канал, но я не думаю, что это - хорошая практика. Что касается ошибочной страницы - у Вас может всегда быть своя собственная ошибочная страница для любого исключения, так, чтобы пользователи не видели ужасные сообщения.

-1
ответ дан 4 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: