PHP, завихрение и необработанные заголовки

Я удивлен, что не считал ни в одном предыдущем ответе это, которое я рассматриваю самым решающим аспектом:

я использую структуры, когда я хочу тип без идентификационных данных. Например, 3D точка:

public struct ThreeDimensionalPoint
{
    public readonly int X, Y, Z;
    public ThreeDimensionalPoint(int x, int y, int z)
    {
        this.X = x;
        this.Y = y;
        this.Z = z;
    }

    public override string ToString()
    {
        return "(X=" + this.X + ", Y=" + this.Y + ", Z=" + this.Z + ")";
    }

    public override int GetHashCode()
    {
        return (this.X + 2) ^ (this.Y + 2) ^ (this.Z + 2);
    }

    public override bool Equals(object obj)
    {
        if (!(obj is ThreeDimensionalPoint))
            return false;
        ThreeDimensionalPoint other = (ThreeDimensionalPoint)obj;
        return this == other;
    }

    public static bool operator ==(ThreeDimensionalPoint p1, ThreeDimensionalPoint p2)
    {
        return p1.X == p2.X && p1.Y == p2.Y && p1.Z == p2.Z;
    }

    public static bool operator !=(ThreeDimensionalPoint p1, ThreeDimensionalPoint p2)
    {
        return !(p1 == p2);
    }
}

, Если у Вас есть два экземпляра этой структуры, Вы не заботитесь, являются ли они единственной частью данных в памяти или два. Вы просто заботитесь о значении (значениях), которое они содержат.

36
задан Alan Storm 1 December 2009 в 21:06
поделиться

3 ответа

Вы можете использовать curl_getinfo :

До вызова

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

После

$headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);
40
ответ дан 27 November 2019 в 06:01
поделиться

AFAIK, привязка PHP / CURL все еще не имеет надлежащей поддержки для CURLOPT_DEBUGFUNCTION, который является обратным вызовом от libcurl, который может предоставить все эти детали.

Это основная причина, по которой я рекомендую людям разрабатывать сценарии HTTP с помощью инструмента командной строки curl и его опции --trace-ascii ПЕРВЫЙ, а затем преобразовывать это в функцию PHP.

5
ответ дан 27 November 2019 в 06:01
поделиться

обязательно установите параметр CURLINFO_HEADER_OUT перед вызовом curl_getinfo

curl_setopt ($ c, CURLINFO_HEADER_OUT, true);

2
ответ дан 27 November 2019 в 06:01
поделиться
Другие вопросы по тегам:

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