زمینه پروکسی HTTP در PHP یک جریان خام TCP را پیکربندی مجدد نمیکند
گزینههای پروکسی پوشش HTTP در PHP را از کار پروتکلی لازم روی اتصال TCP با stream_socket_client جدا کنید.
گزینه پروکسی در زمینه HTTP متعلق به پوشش جریان HTTP در PHP است. اتصال خام TCP که stream_socket_client ایجاد میکند فقط به این دلیل که آن گزینه در یک شیء زمینه وجود دارد، به کارخواه پروکسی HTTP تبدیل نمیشود.
اگر کد مستقیماً به نشانی مقصد متصل شود، همان مسیر TCP را باز میکند. اگر در عوض به نشانی پروکسی متصل شود، بایتهای بعدی هنوز باید پروتکل پروکسی را پیادهسازی کنند.
برای HTTP CONNECT این یعنی میزبان و درگاه معتبر مقصد، هر احراز هویت پروکسی لازم، تجزیه کامل پاسخ و پذیرش پیش از آغاز پروتکل مقصد. یک فراخوانی fread که به دنبال عبارت موفقیت میگردد، اتصالدهنده کامل نیست. TCP میتواند پاسخ را میان چند خواندن تقسیم کند یا بایتهای اضافی بازگرداند که باید نگه داشته شوند.
برای مقصد HTTPS، سپس TLS باید از طریق تونل برقرارشده آغاز شود و هویت مقصد را بررسی کند. نام میزبان پروکسی، هویت گواهی وبگاه نیست.
وقتی کار فقط واکشی یک URL است، از کارخواه یا اتصالدهندهای با پشتیبانی مستند برای پروتکل پروکسی موردنیاز استفاده کنید. تنظیمات HTTP و SOCKS در PHP cURL یک مسیر پشتیبانیشده برای واکشی URL فراهم میکنند. جریان خام زمانی مفید است که برنامه خود آن کار پروتکلی سطح پایینتر را بر عهده بگیرد؛ نباید بیصدا فرضهایی را از یک نمونه پوشش HTTP نامرتبط به ارث ببرد.