HTTP входит в VBS

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
41
задан feetwet 18 September 2016 в 23:16
поделиться

2 ответа

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://www.example.com", False
o.send
' o.responseText now holds the response as a string.
71
ответ дан svinto 27 November 2019 в 00:15
поделиться

Вы не имеете во время записи описанного, что Вы собираетесь сделать с ответом или каков его тип контента. Ответ уже содержит очень простое использование MSXML2.XMLHTTP (я рекомендую более явное MSXML2.XMLHTTP.3.0 проценуроз), однако, Вы, возможно, должны сделать разные вещи с ответом, это не может быть текст.

XMLHTTP также имеет responseBody свойство, которое является версией массива байтов reponse и существует responseStream, который является IStream обертка для ответа.

Примечание, что в требовании серверной стороны (например, VBScript разместил в ASP) Вы использовали бы MSXML.ServerXMLHTTP.3.0 или WinHttp.WinHttpRequest.5.1 (который имеет почти идентичный интерфейс).

Вот пример использования XmlHttp для выборки файла PDF и it:-

Dim oXMLHTTP
Dim oStream

Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")

oXMLHTTP.Open "GET", "http://someserver/folder/file.pdf", False
oXMLHTTP.Send

If oXMLHTTP.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write oXMLHTTP.responseBody
    oStream.SaveToFile "c:\somefolder\file.pdf"
    oStream.Close
End If
хранилища
40
ответ дан AnthonyWJones 27 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

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